javascript - 這兩種JS寫(xiě)法有什么區(qū)別
問(wèn)題描述
function cs() { var _cs = {};_cs .open_change_customer_p = function (url, url_param) {console.log(url);console.log(url_param);//do something......block_enter_presss(); };function block_enter_presss() {/**屏蔽bootstrap搜索框按enter會(huì)刷新,搜索框響應(yīng)enter鍵 */ } return _cs ;}
function cs() { cs .open_change_customer_p = function (url, url_param) {console.log(url);console.log(url_param);//do something......block_enter_presss(); };function block_enter_presss() {/**屏蔽bootstrap搜索框按enter會(huì)刷新,搜索框響應(yīng)enter鍵 */ } return cs ;}
補(bǔ)充內(nèi)容:我是在網(wǎng)頁(yè)上通過(guò)var a=new cs();a.open_change_customer_p ();來(lái)使用。然后cs只暴露open_change_customer_p 這個(gè)函數(shù)上面兩種寫(xiě)法,是把要暴露的方法掛在新的變量中比較好,還是直接掛在函數(shù)名下比較好?
問(wèn)題解答
回答1:前面那種我見(jiàn)得比較多,后面那種寫(xiě)法是什么鬼。。
回答2:第二種是不是這樣_cs.open_change_customer_p = function (url, url_param){......}
這兩種的區(qū)別就是,第二種這種方法可以被刪除,第一種用 var 定義的不能被刪除,除此以外,貌似沒(méi)什么區(qū)別了,看個(gè)人習(xí)慣了,第一種可讀性可能會(huì)好一點(diǎn)
回答3:靜態(tài)方法為什么不抽出來(lái)單獨(dú)寫(xiě)一個(gè)函數(shù),而要每次都新建?
回答4:...第一種用法:var cs1 = cs();var cs2 = cs();cs1 和 cs2 是兩個(gè)不同的對(duì)象, 指向不同的內(nèi)存空間而第二種會(huì)指向同一個(gè)空間,就是cs函數(shù)本身...會(huì)出現(xiàn)的問(wèn)題就是你聲明了倆變量,改變其中一個(gè),另外一個(gè)的值跟著變(var cs1 = cs()這種用法)
如果你是想var cs1 = new cs()的話, 第二種始終控制的是cs函數(shù)本身呀...那里的cs應(yīng)該換成this
第一種好...因?yàn)榈诙N很奇怪...
回答5:功能應(yīng)該都是能實(shí)現(xiàn)相同的功能的
第一種看起來(lái)會(huì)比較舒服
第二種看起來(lái)會(huì)比較舒服
如果你是覺(jué)得第一種那樣定義不太舒服,你可以這樣子定義
function cs() { this.open_change_customer_p = function (url, url_param) {console.log(url);console.log(url_param);block_enter_presss(); };function block_enter_presss() {/**屏蔽bootstrap搜索框按enter會(huì)刷新,搜索框響應(yīng)enter鍵 */ }}console.log(new cs())回答6:
你第二種方法能實(shí)現(xiàn)
var a=new cs();cs.open_change_customer_p ();
這樣的調(diào)用? 我很懷疑
相關(guān)文章:
1. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語(yǔ)法實(shí)現(xiàn)存在即更新應(yīng)該使用哪個(gè)標(biāo)簽?2. 哭遼 求大佬解答 控制器的join方法怎么轉(zhuǎn)模型方法3. mysql儲(chǔ)存json錯(cuò)誤4. mysql - 怎么生成這個(gè)sql表?5. mysql - 數(shù)據(jù)庫(kù)表中,兩個(gè)表互為外鍵參考如何解決6. Navicat for mysql 中以json格式儲(chǔ)存的數(shù)據(jù)存在大量反斜杠,如何去除?7. sql語(yǔ)句 - 如何在mysql中批量添加用戶?8. mysql - 表名稱(chēng)前綴到底有啥用?9. 編輯成功不顯示彈窗10. 怎么php怎么通過(guò)數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。
