首页 > 代码库 > 《JavaScript设计模式》深入学习 —— Constructor(构造器)模式
《JavaScript设计模式》深入学习 —— Constructor(构造器)模式
在经典的面向对象编程语言中,Constructor是一种在内存已分配给该对象的情况下,用于初始化新创建对象的特殊方法。在JavaScript中,几乎所有的东西都是对象,我们通常最感兴趣的就是Object构造器。
Object构造器用于创建特定类型的对象——准备好对象以备使用,同时接收构造器可以使用的参数,以在第一次创建对象时,设置成员属性和方法的值。
(1) 对象创建
① var newObject = {};
② var newObject = new Object();
赋值:
ECMAScript 3兼容方式
1. 点语法
// 设置属性 newObject.someKey = ‘Hello World‘; // 获取属性 var key = newObject.someKey;
2. 中括号语法
// 设置属性 newObject[‘someKey‘] = ‘Hello World‘; // 获取属性 var key = newObject[‘someKey‘];
只适用于ECMAScript 5的方式
3. Object.defineProperty
// 设置属性 Object.defineProperty( newObject , ‘somekey‘ , { value : ‘I love You‘, writable : true, enumerable : true, configurable : true } );
4. Object.defineProperties
// 设置属性 Object.defineProperties( newObject , { ‘somekey‘ : { value : ‘I love You‘, writable : true, enumerable : true, configurable : true }, ‘anotherkey‘ : { value : ‘I Hate You‘, writable : true, enumerable : true, configurable : true } } );
(2) 带原型的Constructor(构造器)
调用JavaScript构造器创建一个对象后,新对象就会具有构造器原型的所有属性。
例如:
// 创建构造器 function Car( model , year , miles ) { this.model = model; this.year = year; this.miles = miles; } Car.prototype.toString = function () { return this.model + ‘ has done ‘ + this.miles + ‘ miles‘; }; // 用法 var civic = new Car ( ‘Honda Civic‘ , 2015 , 20000 ); console.log(civic.toString()); // Honda Civic has done 20000 miles
现在toString()的单一实例就能在所有Car对象之间共享了。
《JavaScript设计模式》深入学习 —— Constructor(构造器)模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。