当函数前加上new。。。

讲解之前,我们先来看一个栗子:

  function People(name,age){
    this.name = name;
    this.age = age;
    this.sayHello = fucntion(){
      console.log('hello,'this.name);
    }
  }
  People('harrisking','23');
  new People('bob','22');

大家觉得上面的函数, People('harrisking','23');和new People('bob','22');输出的结果相同吗?

答案是,完全的不同。

People('harrisking','23');是执行这个函数;而new People('bob','22');不仅是执行这个函数,还是将它作为构造函数去创建对象(如果不传参数可以不加括号)。

一个函数前面加上new就是将它作为构造函数去创建对象。

这个对象中的属性就是你在这个函数中给this赋的值,例如上面函数中的this.name。值就是传递进去的参数。

具体请点击链接

JS 的 new 到底是干什么的?

你可能感兴趣的:(当函数前加上new。。。)