【宠粉通道】叫我讲解的一道前端JS面试题-灵魂三问:prototype?类的prototype是什么?对象的proto是什么
作者 | Jeskson 来源 | 达达前端小酒馆 1 究竟是什么样的题目让我徒弟疑惑呢?让我们看看截图先,来源于wx群: 看看我是怎么回答的: function Foo() { getName = function () { alert (1); }; return this; } var getName; //只提升变量声明 function getName() { alert (5);} //提升函数声明,覆盖var的声明 Foo.getName = function () { alert (2);}; Foo.prototype.getName = function () { alert (3);}; getName = function () { alert (4);}; //最终的赋值再次覆盖function getName声明 getName(); //最终输出4 看懂没呢?没看懂也别急哈: 先让我们了解函数的定义: 函数声明,可以先调用再声明 dadaFn(); function dadaFn(){ console.log(dadaFn); } / 返回 f -> function function dadaFn() { console.log(dadaFn); } 函数表达式,先声明再调用: let daDafn = function() { console