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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

剛學JS不久的新人關于函數中屬性定義的疑問

剛學JS不久的新人關于函數中屬性定義的疑問

繁星點點滴滴 2018-10-18 13:10:03
剛接觸js,看到一個prototype的例子,但里面其中一段代碼有些疑問,代碼如下:function a()             {                this.showMsg = function()                 {                     alert("a want showMsg");                 }             } a.showMsg = function()              {           alert("a want showMsg static");             }            var p = new a();          a.showMsg();    //輸出a want showMsg static          p.showMsg();    //輸出a want showMsg一個是在函數里定義了屬性,一個是函數外部定義的屬性。請問兩種方式的本質以及什么情況下會用到?JS看的頭暈腦脹,各種繼承當時看懂了結果隔一天又忘,看多了感覺又攪在一塊,接下來準備繼續學習DOM,哎,腦子好亂。
查看完整描述

1 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超22個贊

這兩種定義的方法應該沒什么區別,主要是使用場景不一樣。

比如我調用了別人已經寫好的a函數,但是我并不知道這個a函數內部是怎么寫的,這個時候我想給a添加一個方法showMsg,所以我可以直接用a.showMsg來定義,這種情況下肯定是用后者會比較好。

這個類似于jQuery,比如我想在jQuery上面添加一個showMsg方法,方便我以后使用,你覺得我是到jQuery的源碼里面找到適當的位置添加比較好(源碼幾千行,甚至還可能是壓縮過的),還是在外面調用$.extend添加比較好?


查看完整回答
反對 回復 2018-11-17
  • 1 回答
  • 0 關注
  • 495 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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