这在JavaScript函数中引用了什么?

时间:2013-05-28 16:22:14

标签: javascript function prototype

function Box(width, height)
{
  this.width = width;
  this.height = height;
}

var myBox = new Box(5,5);
  1. 技术上new关键字在这里做什么?它是否正在创建一个新功能?或者是创建一个新对象并将该函数应用于它?

  2. 如果是这样,那么这是一种创建“Box”的方法,这是否意味着this关键字实际上是指对象myBox?

1 个答案:

答案 0 :(得分:9)

它使用Box作为构造函数创建一个新对象。在这种情况下this 的值(当使用new关键字调用函数时)是正在构造的新实例。此新对象将继承自定义为Box.prototype的任何内容(默认为Object.prototype)。

我在这种情况下说 ,因为在JavaScript中this的值取决于函数的调用方式。我建议您阅读MDN page on this以获取更多信息。


注意:如果该问题应该被关闭,那么它应该是重复的。以下是一些可能对您有所帮助的重复链接: