1.创建对象的几种方法
1.1创建对象的最简单的方法就是使用对象直接量
1.2 通过new创建对象
1
| var emptyObj = new Object();
|
1.3 Object.create(prototype, [propertyObject])
使用Object.create()创建一个新对象,其中第一个参数是对象的原型,第二个是可选参数,用于对对象的属性进行进一步的描述。
propertyObject 为null时新创建的对象就不包括所有的属性和方法 var obj = Object.create(null) obj.toString => undefined
Object.create应用场景(实现继承)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| function Person() {} function Student() {} Student.prototype = Object.create(Person.prototype) if (!Object.create) { Object.create = function (proto) { function N () {} N.prototype = proto; return N; } }
Student.prototype.constructor = Person
|
对象中的getter setter方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| var objs = { name: 'Bruce', get deelName() { return this.name }, set deelName(val) { this.name = val } }
var book = { _year: 2004, } Object.defineProperty(book, 'year', { configurable: true, enumerable: true, writable: true, get: function() { return this._year }, set: function(newval) { this._year = newval } })
|