对原型链的理解

链接: https://www.nowcoder.com/questionTerminal/958d0ae11c9b46e09d7b919467dce9a4
来源:牛客网

var F= function (){};
Object.prototype.a= function (){};
Function.prototype .b= function (){};
var f= new F();
关于这段代码正确的结论是:()
  • f能取到a,但取不到b
  • f能取到a,b
  • F能取到b,不能取到a
  • F能取到a,不能取到b

这个问题涉及到js的原型继承
1.  f.__proto__ === f[的构造函数].prototype === F.prototype
2.  F.prototype.__proto__ ===  (F.prototype)[的构造函数].prototype ===   Object.prototype (所以a能够 通过f.a访问)
3. f.constructor === F
4. F.__proto__ === F[的构造函数].prototype === Function.prototype (所以b可以通过, f.constructor.b访问到)

注意: 
(F.prototype)[的构造函数] === Object
F[的构造函数] === Function
 js 的继承靠的是__proto__ ,并不是prototype

推荐一片文章:http://www.jianshu.com/p/dee9f8b14771

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值