JavaScript中,除了number、string、boolean、null和undefined,其它所有的值都是對(duì)象。對(duì)象可以通過(guò)字面量來(lái)直接聲明,也可以通過(guò)new操作符來(lái)新建。與Java語(yǔ)言不同,JavaScript對(duì)象中的property是可以動(dòng)態(tài)添加或者刪除的;同時(shí),對(duì)象中的property還可以是空字符串:
//empty string is allowed as object property
var o2 = {"":88, "p":99};
console.log(o2);//Object { =88, p=99}
//for constructor function, "new" operation returns an object.
function Computer(x, y) {
this.x = x;
this.y = y;
}
var c = new Computer(126, 163);
console.log(c);//Computer {x=126, y=163}
var c2 = new Computer(126);//missing parameter value will be "undefined"
console.log(c2);//Computer {x=126, y=undefined}
c.z = 66;
console.log(c);//Computer {x=126, y=163, z=66}
delete c.y;
console.log(c);//Computer {x=126, z=66}
如果在使用new操作符來(lái)新建對(duì)象時(shí),作用的function并不是一個(gè)類的constructor,而僅僅是一個(gè)普通的函數(shù),那么JavaScript將在執(zhí)行該函數(shù)后返回一個(gè)空對(duì)象:
Object屬性
JavaScript中的Object有以下3個(gè)屬性:
1.prototype。引用,指向Object的原型對(duì)象。原型對(duì)象中的property可以被Object所繼承。
2.class。字符串,表示Object的類名。
3.extensible。boolean值,表示Object中是否允許動(dòng)態(tài)添加property。該屬性僅在ECMAScript 5中有效。
Property屬性
Object中的Property也有3個(gè)屬性:
1.writable。該property是否可寫(xiě)。
2.enumerable。當(dāng)使用for/in語(yǔ)句時(shí),該property是否會(huì)被枚舉。
3.configurable。該property的屬性是否可以修改,property是否可以刪除。
新聞熱點(diǎn)
疑難解答
圖片精選