我建了两个函数对象,然后 new
,我想修改 k
的原型链到 n
上去,可是不成功,当 k
中没有该属性的时候,它就应该去查找 __proto__
发现 prototype
是 m
,可是我已经把 k
的原型链修改至 n
上了啊,我查过手册,这个不是只读的。
var M = function() {
this.person = "life"
},
N = function() {
this.gate = "ok"
};
var k = new M(),
l = new N();
k.__proto__ = l;
console.log(k.gate);
// → ok
首先应该是
k.prototype
...原型链的继承都是基本都是发生在构造函数上的,所以在实例上进行继承有点不靠谱。你这么写是没有问题的:或者你也可以用简单点的办法: