Js創建對象三種方法:對象直接量{}、new、Ojbect.create。
一、對象直接量{}
//創建沒有屬性的對象 var empty = {}; //兩個屬性的對象 var point = { x: 0, y: 0 };
二、new關鍵字
new關鍵字后緊跟類的構造函數,完成實例化一個對象。
var obj = new Object({ 1: "壹", 2: "貳" }), //Object基類的構造函數Object();obj:{1: "壹", 2: "貳"} arr = new Array([1, 2]), //數組基類Array構造函數Array();arr:[1,2] date = new Date(); //日期對象基類Date構造函數Date();date:Fri Apr 11 2014 08:22:24 GMT+0800
三、方法Object.create()
Object.create()接受兩個參數,第一個參數是需要實例化類的原型prototype,第二個參數是一個屬性集合成的對象,這個對象用於給第一個參數增加屬性描述符:writable, configurable, value,enumerable等。
/* 創建一個對象,這個對象擁有減屬性和加屬性,加和減屬性都是不可配置的。 對象的value屬性必須顯式設置為可寫,否則就是只讀的 */
var o = Object.create(Object.prototype, { //add用於判斷對象是否為數字,是則可以自加1 add: { //設置為不可配置 configurable: false, //值 set: function(value) { if (/^\d*$/.test(value)) this.value=this.value + value; console.log(this.value); } }, //minus用於判斷對象是否為數字,是則可以自加1 minus: { //設置為不可配置 configurable: false, //值 set: function(value) { if (/^\d*$/.test(value)) this.value=this.value - value; } }, value: { value:0, writable:true //必須顯式設置為可寫,否則value是不能進行寫操作的 } })