为什么函数在构造函数中声明时不使用new关键字?

时间:2015-10-19 21:18:40

标签: javascript function constructor declaration new-operator

函数中的示例函数声明:

function Rectangle(height, width) {
  this.height = height;
  this.width = width;
  this.calcArea = function() {
      return this.height * this.width;
  };
  // put our perimeter function here!
  this.calcPerimeter = function() {
    return 2 * this.height + 2 * this.width;
};

示例新函数声明:

var actions = new function() {
    console.log("this is to do something");
}

为什么我们在声明一个新函数时使用new关键字但在构造函数中声明它时不使用new关键字?

1 个答案:

答案 0 :(得分:0)

new是一名运营商。它分配一个对象实例(并为其分配一个原型)。您创建的函数不是任何类的实例,也不会在多个副本中创建。静态声明定义了唯一将存在的实例。