(function($) {
if (!$) return;
// ----------------------------
// String原型方法擴展
$.extend(String.prototype, {
'toMapObject': function(sep) {
/*對當前字符串進行分割 然後把數組第1個位置的數字作爲第一層對象賦值給d 然後把第2個位置的數字作爲第二層的對象賦值給d以此類推 最終得到一個自己定義的多層結構的對象 然後可以根據它擴展一些自己需要的方法 達到了實現自定義命名空間的目的*/
var sep = sep || '/';
var s = this.split(sep);
var d = {};
var o = function(a, b, c) {
if (c < b.length) {
if (!a[b[c]]) {
a[b[c]] = {};
}
d = a[b[c]];
o(a[b[c]], b, c + 1);
}
};
o(window, s, 1);
return d;
}
})
})
比如說定義一個字符串 f2e.GUI
"f2e.GUI".toMapObject(".");
之後就能用 f2e.GUI.showfunction = {
do something...
}
自定義命名空間
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
編寫自適應高度的 textarea
CarterLi
2019-02-25 00:14:46
node遇上c++ --- 愛情來的太快(一) (沒有文章)
sewerganger
2019-02-24 22:55:07
進擊webpack4 (基礎篇二:配置)
槐破夢
2019-02-24 22:55:07
《劍指offer》分解讓複雜問題更簡單
ConardLi
2019-02-24 22:55:07
ggit (git gui) --- 開發記錄 (一)
sewerganger
2019-02-24 22:45:04
搞搞, 超星爾雅;
sewerganger
2019-02-24 22:44:54
近期前端發展計劃
Ashleysweetie
2019-02-24 22:32:41
JS module的導出和導入
KevinYan
2019-02-24 21:34:55
「前端面試題系列7」Javascript 中的事件機制(從原生到框架)
micherwa
2019-02-24 19:55:05
JS面試題之比較兩個對象是否相等?
幸福村的碼農
2019-02-24 17:35:07
JavaScript:函數防抖與函數節流
沉靜地閃光
2019-02-24 17:35:07
超級詳細的手寫webpack4配置來啓動vue2項目(附配置作用)
Sotyoyo
2019-02-24 16:44:37
QQ音樂播放地址api
要學習資料找我
2019-02-24 16:32:45
通信類
Ashleysweetie
2019-02-24 16:25:14