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

eda*_*els 2 javascript prototype function

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

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

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

bfa*_*tto 9

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

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


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