猿问

在线等,挺急的!函数声明,函数变量,构造函数的调用问题跪求!

代码如下
functionFoo(){
getName=function(){
console.log(1);
};
returnthis;
}
Foo.getName=function(){
console.log(2);
}
Foo.prototype.getName=function(){
console.log(3);
}
vargetName=function(){
console.log(4);
};
functiongetName(){
console.log(5);
}
Foo.getName();//
getName();//
Foo().getName();//
getName();//
newFoo.getName();//
newFoo().getName();//
newnewFoo().getName();//
现在想问的是newFoo()不是可以省略括号写成newFoo吗,为什么第5问和第6问结果不一样呢,还有最后一问直接不明白为啥结果是这样的,谢谢各位大神的不吝赐教
四季花海
浏览 227回答 2
2回答

繁星点点滴滴

1、第5问和第6问结果不一样呢优先级不同newFoo.getName();就类似于new(Foo.getName)()newFoo().getName();类似于(newFoo()).getName()2、最后一问这样看就比较好理解了new((newFoo()).getName)()
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答