js 原型继承开发

在学习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");   
  }
}


九州编程
浏览 484回答 1
1回答

收到一只叮咚

原型本身是一个对象,Dialog.prototype指向这个对象,第一种方式相当于修改这个对象的属性,第二种方式相当于让prototype重新指向一个对象。第一种方式不会导致你在别的地方给这个原型加的属性无效。第二种方式要慎用,因为你可以先用第一种方式修改prototype,然后第二种方式直接覆盖掉了,之前给原型加的东西就没了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript