(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...
}
自定义命名空间
原创boyzhou99 博主文章分类:javascript学习 ©著作权
©著作权归作者所有:来自51CTO博客作者boyzhou99的原创作品,谢绝转载,否则将追究法律责任

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
SpringBoot自定义starter
SpringBoot自定义starter
spring maven ci -
Microsoft 365自定义安装
自定义安装微软 365
Office 启动项 Windows