此份详解对于一些有开发经验但是基础匮乏的人来说还是比较实用的(大牛请略过)在离职跳槽季也可以用来温习一下也是极好的
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
这是一道美团的前端面试题,这里主要考察开发者对于原型的理解程度
Object 是 Function的实例,而Function是它自己的实例
凡是可通过new Function创建的对象都是函数对象,其他都是普通对象(通常通过Object创建),可以通过typeof来判断
typeof Ferson // "function" Ferson ()为函数对象
typeof p // "object" p为普通对象
p.a等于Object.prototype.a 则为"undefined";
p.b也是同样的道理;
大家如果有不理解的面试题欢迎留言评论,我会在收到大家评论后给大家进行解答,有表述不充分的地方欢迎大家指出,与大家共勉