此份詳解對(duì)于一些有開發(fā)經(jīng)驗(yàn)但是基礎(chǔ)匱乏的人來說還是比較實(shí)用的(大牛請(qǐng)略過)在離職跳槽季也可以用來溫習(xí)一下也是極好的
Function.prototype.a = "a";
Object.prototype.b = "b";
function Ferson ();
var p = new Ferson ();
console.log ( "p.a:" + p.a ) // p.a:undefined
console.log ( "p.b:" + p.b) // p.b:b
這是一道美團(tuán)的前端面試題,這里主要考察開發(fā)者對(duì)于原型的理解程度
Object 是 Function的實(shí)例,而Function是它自己的實(shí)例
凡是可通過new Function創(chuàng)建的對(duì)象都是函數(shù)對(duì)象,其他都是普通對(duì)象(通常通過Object創(chuàng)建),可以通過typeof來判斷
typeof?Ferson //?"function" ? ? ?Ferson ()為函數(shù)對(duì)象
typeof p // "object" ? ? ?p為普通對(duì)象
p.a等于Object.prototype.a ?則為"undefined";
p.b也是同樣的道理;
大家如果有不理解的面試題歡迎留言評(píng)論,我會(huì)在收到大家評(píng)論后給大家進(jìn)行解答,有表述不充分的地方歡迎大家指出,與大家共勉