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是不能进行写操作的 } })