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会刷新,搜索框响应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会刷新,搜索框响应enter键 */
}
return cs ;
}
補充內容:
我是在網頁上透過
var a=new cs();
a.open_change_customer_p ();
來使用。
然後cs只暴露open_change_customer_p 這個函數
上面兩種寫法,是把要暴露的方法掛在新的變數中比較好,還是直接掛在函數名稱下比較好?
前面那種我見得比較多,後面那種寫法是什麼鬼。 。
第二種是不是這樣
_cs.open_change_customer_p = function (url, url_param){......}
這兩種的區別就是,第二種這種方法可以被刪除,第一種用var 定義的不能被刪除,除此以外,似乎沒什麼區別了,看個人習慣了,第一種可讀性可能會好一點
靜態方法為什麼不抽出來單獨寫一個函數,而要每次都新建?
...第一種用法:
var cs1 = cs();
var cs2 = cs();
cs1 和cs2 是兩個不同的物件, 指向不同的記憶體空間
而第二種會指向同一個空間,就是cs函數本身...
會出現的問題就是你聲明了倆變數,改變其中一個,另外一個的值跟著變(var cs1 = cs()這種用法)
如果你是想var cs1 = new cs()的話, 第二種總是控制的是cs函數本身呀...那裡的cs應該換成this
第一種好...因為第二種很奇怪...
功能應該都是能實現相同的功能的
第一種看起來會比較舒服
第二種看起來會比較舒服
如果你是覺得第一種那樣定義不太舒服,你可以這樣子定義
你第二種方法可以實現
這樣的呼叫? 我很懷疑