[关闭]
@Belinda 2015-03-11T02:07:02.000000Z 字数 873 阅读 1176

javascrip 对象

实习笔记


一旦使用delete命令删除某个属性,再读取该属性就会返回undefined,而且Object.keys方法返回的该对象的所有属性中,也将不再包括该属性。

麻烦的是,如果删除一个不存在的属性,delete不报错,而且返回true。


在JavaScript语言中,所有全局变量都是顶层对象(浏览器环境的顶层对象为window)的属性,因此可以用in运算符判断一个全局变量是否存在。


注意,for...in循环遍历的是对象所有可enumberable的属性,其中不仅包括定义在对象本身的属性,还包括对象继承的属性


通过函数的call方法,可以用slice方法将类似数组的对象,变成真正的数组。

遍历类似数组的对象,可以采用for循环,也可以采用数组的forEach方法。

o.p1 = 1;
o.p2 = 2;
// 等同于
with (o){
    p1 = 1;
    p2 = 2;
}

在with区块内部依然是全局作用域。如果你要在with语句内部,赋值对象某个属性,这个属性必须已经存在,否则你就是声明了一个全局变量。

参考文章:对象--javascrip标准参考书

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注