账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于修改了Function.prototype中的值,为什么实例上无法获取到
    35
    0

    问题

    上午看面经看到的一个同学的面试题目

    Function.prototype.a = 1;
    Object.prototype.b = 2;
    var Func = function(){};
    var f = new Func();
    console.log(f.a, f.b)

    测试了一下实际的输出结果是undefined 2

    我的理解

    我的理解是首先Object.prototype是原型链的顶端,Function.prototype应该是指向了Function的构造函数本身。

    然后这个实例f是对象,而不是函数,所以Object.prototype里的值他能读到,而Function.prototype是他的构造函数的原型链,所以他不能读到。

    (这两天在补继承和原型链方面的知识,理解不到位请多指出。想知道这个问题大家是如何解释的

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部