JavaScript 不像其他面向对象语言(例如 Java 或 C)那样支持传统意义上的类。然而,它提供了一种独特的机制来使用原型为对象定义构造函数。
使用原型:
JavaScript 对象有一个原型属性,可用于添加方法和该对象的所有实例的属性。要使用原型定义构造函数,我们创建一个函数并将其分配给对象的原型:
<code class="javascript">function Box(color) { // Constructor this.color = color; } Box.prototype.getColor = function() { return this.color; };</code>
此构造函数采用颜色参数并将其存储在对象的 color 属性中。它还在原型中添加了一个 getColor 方法,该方法可以被 Box 对象的所有实例访问。
隐藏私有属性:
而 JavaScript 没有 true私有成员,我们可以使用一种技术来模拟私有属性:
<code class="javascript">function Box(col) { var color = col; this.getColor = function() { return color; }; }</code>
在这个例子中,颜色变量在构造函数中被声明为局部变量。不能从构造函数外部直接访问它。但是,我们提供了一个 getColor 方法,它返回颜色变量的值。
用法:
要创建 Box 对象的实例,我们使用 new 关键字后面是构造函数名称:
<code class="javascript">var blueBox = new Box("blue"); alert(blueBox.getColor()); // will alert blue var greenBox = new Box("green"); alert(greenBox.getColor()); // will alert green</code>
通过利用原型或者模拟私有属性,JavaScript 允许我们为对象定义构造函数,并在一定程度上模拟封装。
以上是如何定义 JavaScript 对象的构造函数?的详细内容。更多信息请关注PHP中文网其他相关文章!