在学习js原型继承开发时,发现两种原型方法,区别是什么呢?function Dialog(){}
Dialog.prototype.fun1 = function(){
console.log("fun1");
}
Dialog.prototype.fun2 = function(){
console.log("fun2");
}---------------------------------------------Dialog.prototype = {
constructor: this,
fun1:function(){
console.log("fun1");
},
fun2:function(){
console.log("fun2");
}
}
1 回答
收到一只叮咚
TA贡献1821条经验 获得超4个赞
原型本身是一个对象,Dialog.prototype指向这个对象,第一种方式相当于修改这个对象的属性,第二种方式相当于让prototype重新指向一个对象。
第一种方式不会导致你在别的地方给这个原型加的属性无效。
第二种方式要慎用,因为你可以先用第一种方式修改prototype,然后第二种方式直接覆盖掉了,之前给原型加的东西就没了。
添加回答
举报
0/150
提交
取消