📜  JavaScript |新关键字

📅  最后修改于: 2022-05-13 01:56:55.606000             🧑  作者: Mango

JavaScript |新关键字

JavaScript 中的New 关键字用于创建具有构造函数的对象的实例。在使用 'new' 运算符调用构造函数时,将执行以下操作:

  • 创建一个新的空对象。
  • 新对象的内部“原型”属性 (__proto__) 设置为与构造函数的原型相同。
  • 'this' 变量指向新创建的对象。它将使用“this”关键字声明的属性绑定到新对象。
  • 当构造函数返回一个非原始值(自定义 JavaScript 对象)时,将返回一个新创建的对象。如果构造函数返回原始值,它将被忽略。在函数结束时,如果函数体中没有 return 语句,则返回 'this'。

句法:

new constructorFunction(arguments)

参数:

  • ConstructorFunction:指定对象实例类型的类或函数。
  • 参数:将调用构造函数的值列表。

示例 1:


输出:

Yellow

在上面的例子中,'new' 关键字创建了一个空对象。在这里,Fruit() 包括三个属性 'color'、'taste' 和 'seeds',它们是用 'this' 关键字声明的。因此,一个新的空对象现在将包含所有这些属性,即“颜色”、“味道”和“种子”。新创建的对象作为fruit1() 返回。

示例 2:


输出:

100 200

在上面的例子中,'new' 关键字创建了一个空对象,然后将这个空对象的 'prototype' 属性设置为 func() 的原型属性。使用 func.prototype.y 分配新属性“b”。因此,新对象还将包含“b”属性。然后它将使用 this 关键字声明的所有属性和函数绑定到一个新的空对象。在这里,func() 只包含一个用这个关键字声明的属性“a”。所以新的空对象现在将包含“a”属性。 func() 还包括未使用此关键字声明的“c”变量。所以'c'不会包含在新对象中。最后,返回新创建的对象。请注意, func() 不包括 areturn 语句。编译器将在末尾隐式插入“return this”。