请问能否直接把拓展的方法写在构造函数Elem()里,而不用.prototype?
来源:15-12 原型和原型链-解答2-写一个贴近实际开发原型链继承的例子
朱智硬
2018-07-22
请问能不能写成这样
function Elem(id){
this.elem = document.getElementById(id);
this.html = function html(val){
var elem = this.elem;
if(val){
elem.innerHTML = val;
return this;
}else{
return elem.innerHTML;
}
}
}
var form = new Elem('form');
form.html('aaa');我拿百度的首页试了一下 可以运行。 请问这两种方法有优劣吗?
写回答
2回答
-
双越
2018-07-22
对于这个例子,没啥影响。但是这样写没法做到继承。例如,Object.prototype.toString 可以被所有对象继承使用,但是如果 toString 是按照你的方式来写的,那就没法被继承使用了。
142019-05-29 -
qq_天道飘渺_0
2018-08-01
这样写的话,好像每次实例化都做一次添加,如果方法多了是不是影响性能
012018-08-31
相似问题