探索 JavaScript 中的“new”关键字
理解“new”关键字
在 JavaScript 中,“new”关键字在对象创建和继承概念中起着关键作用。尽管 JavaScript 被誉为非面向对象语言,但它通过“new”关键字引入了一种独特的基于对象编程方法。
“new”关键字的用途
“new”关键字有几个关键职责:
理解 [[prototype]] 和 'prototype' 属性
使用“new”创建对象的示例
function ObjMaker() { this.a = 'first'; } // 'ObjMaker' is the constructor function ObjMaker.prototype.b = 'second'; // 'ObjMaker.prototype' is the prototype object obj1 = new ObjMaker(); // 'new' creates a new 'obj1' object, assigns the prototype, and executes 'ObjMaker' obj1.a; // 'first' obj1.b; // 'second' // 'obj1' inherits 'b' from 'ObjMaker.prototype' while still accessing its own property 'a'
继承层次结构'new'
通过 'new' 关键字,JavaScript 允许基于原型的继承模型。通过设置 [[prototype]] 属性,对象可以从其构造函数的原型继承属性和方法。这使得能够创建扩展现有类的子类,如下所示:
function SubObjMaker() {} SubObjMaker.prototype = new ObjMaker(); // deprecated, use Object.create() now SubObjMaker.prototype.c = 'third'; obj2 = new SubObjMaker(); obj2.c; // 'third' obj2.b; // 'second' obj2.a; // 'first' // 'obj2' inherits 'c' from 'SubObjMaker.prototype', 'b' from 'ObjMaker.prototype', and 'a' from 'ObjMaker'
总之,JavaScript 中的 'new' 关键字不仅有助于对象创建,而且还支持模拟基于类的灵活继承机制编程。
以上是JavaScript 中的 new 关键字如何创建对象并实现继承?的详细内容。更多信息请关注PHP中文网其他相关文章!