自己经常用的一个js的命名空间的js,欢迎拍砖。可能写得不够完善,下面贴下自己的代码。
当多个单独的模块之间有关联关系的时候,通过命命名空间来获取比较能解决耦合度。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 |
( function (){ var
arrayEach = Array.prototype.forEach ? function
(obj, func) { Array.prototype.forEach.call(obj || [], func); } : function
(obj, func) { for
( var
i = 0 , len = obj && obj.length || 0; i < len; i++) func.call(window, obj[i], i); }; /** * @description 命名空间 **/ var
ns = function
(name) { var
part = global, parts = name && name.split( ‘.‘ ) || []; arrayEach(parts, function
(partName) { if
(partName) { part = part[ partName ] || ( part[ partName ] = {}); } }); return
part; }; window.namespace = ns; })() |
原文地址:http://www.cnblogs.com/lztkiss/p/3756156.html