首页 > 代码库 > 原型链的继承都发生在构造函数上
原型链的继承都发生在构造函数上
网上的一道题目:
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);
这么写是有问题的。
_proto_和prototype的区别。
首先应该是 k.prototype
...原型链的继承都是基本都是发生在构造函数上的,所以在实例上进行继承有点不靠谱。你这么写是没有问题的:
m.prototype = new n;m.prototype.constructor = m;k = new m;console.log(k.gate);
或者你也可以用简单点的办法:
var m = function(){ n.apply(this, [].slice.call(arguments)); this.person = "Life";}k = new m;console.log(k.gate);
原型链的继承都发生在构造函数上
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。