函数就是对象吗?对象就是函数吗?跪求大shen详解

哪位大神给我解释下走到误区了


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

https://img2.mukewang.com/5c80c557000189ae08000406.jpg

神不在的星期二
浏览 1048回答 2
2回答

呼如林

传送门
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript