亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

可不可以直接把alert等方法直接寫在構造函數里?

為什么配置寫在構造函數Window里,而alert等方法寫在Window的Prototype里?可不可以直接把alert等方法直接寫在構造函數里?

正在回答

3 回答

直接把alert等方法直接寫在構造函數里的話,每個實例都需要重新創建構造函數里面的方法,而且每個實例里面的方法都不相等,這也算是構造函數模式創建對象的缺點


1 回復 有任何疑惑可以回復我~

不知道對不對=? =

用new生成實例對象是無法共享屬性和方法的

var w1=new window();

var w2=new window();

他們的屬性和方法是獨立的 修改其中一個,不會影響到另一個? 是各自本地的屬性.所以寫在構造函數里是對資源的浪費

而 window.prototype中放入的都是可共享的屬性和方法 (原型中的) 當修改w1.prototype.屬性或方法 時,w2.prototype.屬性或方法也會改變

結論 : 如果寫在構造函數中每次創建實例都會生成新的,實例自身的window().alert()? 浪費資源 且 無法共享


1 回復 有任何疑惑可以回復我~

如果只是把alter的函數體寫在構造函數里,是可以的,只是調用方式不同了,我反而覺得會更方便一點:w.Window(cfg); 少一個alter函數調用。因為你要new Window就是為了alert嘛!

但是confirm和prompt是不能定義在構造函數里的,這樣的話在構造函數外部無法調用。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
阿當大話西游之WEB組件
  • 參與學習       26365    人
  • 解答問題       278    個

衡量攻城師能力是否成熟的重要指標,本課程會以彈窗組件為例

進入課程

可不可以直接把alert等方法直接寫在構造函數里?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號