首页 > 其他 > 详细

原型链的一些题

时间:2020-03-20 21:20:19      阅读:56      评论:0      收藏:0      [点我收藏+]
 function A(){
            this.do = function(){return ‘foo‘}
        }
 A.prototype = function(){
            this.do = function(){return ‘bar‘}
        }
        var x = new A().do()
        console.log(x)  //输出foo
解析:x找do的时候只能从A上找,当A有do时,就执行并输出,当A没有do时,即使A.prototype添加了do,也会报错do is not function;A的原型被重写,切断了原型和实例的线。
 
function A(){...}时打印A.prototype 得到的是 constructor{f},里面包含constructor:f A() 和 __proto__:Object
技术分享图片
A.prototype 修改prototype时,打印A.prototype,已经不是指向constructor了,切断了constructor,指向一个新的区域,输出的不是A的,相当于一个新的函数,已经不是x new的那个构造函数A了
技术分享图片

 

 

 
 
 
 

原型链的一些题

原文:https://www.cnblogs.com/zhoujingye/p/12534797.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!