直接定义自身属性和扩展原型的属性具体使用区别?
来源:15-12 原型和原型链-解答2-写一个贴近实际开发原型链继承的例子
宇xixi
2017-08-10
如下代码,不在原型中扩展,而是把html、on 直接定义在Elem函数中,功能也能实现。这样对比在原型中扩展有何缺陷?或者不足?
function Elem(id) {
this.elem = document.getElementById(id);
this.html = function (val) {
var elem = this.elem;
if (val) {
elem.innerHTML = val;
return this; //用于链式操作,让程序更健壮
} else {
return elem.innerHTML;
}
}
this.on = function (type, fn) {
var elem = this.elem;
elem.addEventListener(type, fn);
return this; //用于链式操作
}
}写回答
1回答
-
如果没有继承关系,你是看不出来的。j假如,Object.prototype.toString 这个方法也像你的定义方式一样,咱们还能方便的使用 toString 吗
132017-08-12
相似问题
关于style属性。
回答 1
各引用类型原型问题
回答 1