var objectName = new functionName(args);引數說明如下:
var o = new Object(); //定義一個空物件 var a = new Array(); //定義一個空陣列 var f = new Function(); //定義一個空函數
var objectName = { 屬性名1 : 屬性值1, 屬性名2 : 屬性值2, ... 屬性名n : 屬性值n };在物件直接量中,屬性名與屬性值之間通過冒號進行分隔,屬性值可以是任意型別的資料,屬性名可以是 JavaScript 識別符號,或者是字串型表示式。屬性於屬性之間通過逗號進行分隔,最後一個屬性末尾不需要逗號。
var o = { //物件直接量 a : 1, //定義屬性 b : true //定義屬性 } var o1 = { //物件直接量 "a" : 1, //定義屬性 "b" : true //定義屬性 }
var o = { //物件直接量 a : function () { //定義方法 return 1; } }
var o = { //物件直接量 a : { //巢狀物件 b : 1 } }
var o = {} //定義一個空物件直接量
Object.create(prototype, descriptors)
引數說明如下:var newObj = Object.create (null, { size : { //屬性名 value : "large", //屬性值 enumerable : true //可以列舉 }, shape : { //屬性名 value : "round", //屬性值 enumerable : true //可以列舉 } }); console.log(newObj.size); //large console.log(newObj.shape); //round console.log(Object.getPrototypeOf(newObj)); //null
var obj = Object.create(Object.prototype, { //繼承Obj.prototype原型物件 x : { value : undefined, //屬性值 writable : true, //可寫 configurable : true, //可以設定 enumerable : true //可以列舉 } }); console.log("obj.prototype = " + Object.getPrototypeOf(obj)); //"obj.prototype =[object, Object]"Object.getPrototypeOf() 函數可獲取原始物件的原型。如果要獲取物件的屬性描述符,可以使用 Object.getOwnPropertyDescriptor() 函數。
var obj = Object.create(Object.prototype, { a : { //資料屬性a writable : true, value : "a" }, b : { //存取器屬性b get : function () { return this.a; }, set : function (value) { this.a = value; }, } }); console.log(obj.a); //"a" console.log(obj.b); //"a" obj.b = 20; console.log(obj.b); //20