首页 > 关于变量赋值函数的问题

关于变量赋值函数的问题

function func(){
    console.log('fuck you!'); 
}
var o = new func();
  

为什么一定要用new 直接var o = f()不可以呢。这里需要理解什么知识点。

对函数调用加new和不加new关键字的运行机制不一样


var o = new f() ,使用new后就把f当做构造函数,会实例化一个对象,并赋值(引用)给变量o!
var o = f() //这只是简单调用f函数,把函数的返回值赋值给变量o,当函数内没有return时,默认返回undefined。


对函数调用加new和不加new关键字的运行机制不一样

【热门文章】
【热门文章】