哪位大神给我解释下走到误区了
var Foo=function(){
getName=function(){console.log(1)};//污染了
return this;
}
Foo.getName=function(){console.log(2)};
Foo.prototype.getName=function(){console.log(3)};
var getName=function(){console.log(4)};//被污染为1
function getName(){console.log(5)};
Foo.getName(); //2
getName();//4
Foo().getName();//1
getName();//1
//前几步我都懂 就是到这最后三步我清楚为什么?
//1、不懂 new Foo后,如果说函数是对象(Foo ==Foo())为何调getName()的值不同
new Foo.getName(); //2
new Foo().getName(); //3
new new Foo().getName();//3
呼如林
相关分类