function Box(width, height)
{
this.width = width;
this.height = height;
}
var myBox = new Box(5,5);
技术上new
关键字在这里做什么?它是否正在创建一个新功能?或者是创建一个新对象并将该函数应用于它?
如果是这样,那么这是一种创建“Box”的方法,这是否意味着this
关键字实际上是指对象myBox?
答案 0 :(得分:9)
它使用Box
作为构造函数创建一个新对象。在这种情况下this
的值(当使用new
关键字调用函数时)是正在构造的新实例。此新对象将继承自定义为Box.prototype
的任何内容(默认为Object.prototype
)。
我在这种情况下说 ,因为在JavaScript中this
的值取决于函数的调用方式。我建议您阅读MDN page on this
以获取更多信息。
注意:如果该问题应该被关闭,那么它应该是重复的。以下是一些可能对您有所帮助的重复链接: