Javascript构造函数和新运算符

时间:2017-11-27 13:07:32

标签: javascript

构造函数就像javascript中的普通函数一样。

function Vehicle (param1, param2){
  this.param1 = param1;
  this.param2 = param2;
}

为什么我们需要使用新的运算符

来调用它们
1) var car = new Vehicle ('abc' , 'def');

为什么不喜欢这样并明确地返回'this'?

2) var car = Vehicle('abc' , 'def'); //Like a simple function call.

2)未创建对象。  和car.param1给出undefined。

“新”在幕后做的是什么?

1 个答案:

答案 0 :(得分:0)

使用new调用函数将从此

转换您的函数
function Vehicle (param1, param2){
  this.param1 = param1;
  this.param2 = param2;
}

到这个

function Vehicle (param1, param2){
  var this={};
  this.param1 = param1;
  this.param2 = param2;
  return this;
}

2)将创建对象。和car.param1不会来定义。如果你写这样的功能

function Vehicle (param1, param2){
      var obj={};
      this.param1 = param1;
      this.param2 = param2;
      return obj;
    }