JavaScript对象(一)

对象
对象是动态的——可以新增属性也可以删除属性,但是对象经常用来模拟静态对象以及静态类型语言中的“结构体”。对象的属性是可以增加和删除的。
对象特性

对象原型(prototype):指向另外一个对象,本对象的属性继承自它的原型对象。
对象的类(class):是一个表示对象类型的字符串。
*对象的扩展标记(extensible flag):指明是否可以向该对象添加新属性。
属性特性

可写 (是否可以设置属性值)
可枚举 (是否可以通过for in 循环返回该属性)
可配置 (是否可以删除或者修改属性)
对象的创建

对象直接量
创建对象最简单的方法是通过对象直接量。

var empty = {
   }; //没有任何属性的对象
 var point = {
   x:0, y:0}; // 两个属性
 var point2 = {
   x:point.x, y:point.y+1}; 
 var student = {
   
     name:"Allen",                //属性名可以不用引号
     age:23,
     school:{
                         //这个属性值是一个对象,
       "primary school" :"试验小学",//属性名中有空格,必须字符串
       "middle-school" :"育才中学" ,//属性名中有连接符,必须用字符串
}
}
/*最后注意一点,属性名尽量避免使用空格、连接符、或者关键字,如果必须使用的话,尽量用引号引起来*/

通过new 创建对象

var mObj = new Object(); // 创建一个空对象,和{}一样
 var arr = new Array(); // 创建一个空数组,和[]一样
var mDate = new  Date(); // 创建一个表示当前时间的Date对象

通过 Object.create()
在这里,我们先弄清楚一个名词——原型,每一个JS对象(除了null)都和另一个对象相关联。“另一个”对象就是我们所说的原型,每一个对象都从原型继承属性。
所有通过对象直接量创建的对象都具有同一个原型对象,并可以通过JS代码Object.prototype获得对原型对象的引用。通过关键字new和构造函数调用创建的对象的原型就是构造函数的prototype属性的值。因此,同使用{}创建对象一样,通过new Object()创建对象也继承自Object.prototype

ECMAScript 5 定义了一个名为Object.create()的方法,它创建一个新的对象,其中第一个参数就是对象原型,第二个参数是可选参数,用以对对象的属性进行进一步描述。
Object.create()`是静态函数,而不是提供给某一个对象调用的方法。

var obj = Object.create({
   x:1,y:2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值