基于javascript的命名空间函数浅析

基于javascript的命名空间函数浅析
看到在网易或Sina或什么网站,但也有像这样的东西,在JS的时间只是在桶的水平下降,当场被吓傻了。
但这次,我打算亲自去分析一下,以后不会混淆的。
复制代码代码如下所示:
/ /调用的例子:bradio.namespace(宽带无线移动通信系统。lang.array );
这是百度编译的源代码,变量是A,B,C,D.…然后我会重新写一个规范点。
,开始分析
(bradio.namespace =功能){ / /创建一个命名空间
创建一个论点, / / {宽带无线移动通信系统。lang.array}
对于一类对象
C,D,E,F,是一个计数器,D是内部循环的计数器,E是拆分后的名称空间数组,f是参数参数的长度。
c=0;
为(F = a.length;C<F;C++){
E =(a { } + )。分裂(, / /分);命名空间,分裂{宽带无线移动通信系统
B = BRadio; / /基础对象,此对象的基础上添加命名空间
为(D = = =宽带无线移动通信系统E { 0 } 1:0;D组e.length; / / D + +)如果第一个是宽带无线移动通信系统,第二开始遍历{宽带无线移动通信系统
{ } } { E B E = B { } B = B { } { } { } E | | { }。
事实上,相当于
/ / B E D } } = { { { { } } B E D | | {} / /如果当前对象被操作的对象,它不存在空的对象分配
在添加下命名空间对象的基础上,覆盖下一个周期的对象
}
返回B返回对象的最后一层
};

以下是可以理解的编译版本。
复制代码代码如下所示:
/ / bradio.namespace(宽带无线移动通信系统。lang.array );
(bradio.namespace =功能){ / /创建一个命名空间
var args =参数,
父=空,
Arr,我,J,Len;
为(i = 0,len = args.length;我< len;i++){
ARR =(+ args {我})。分裂(。);
母=宽带无线移动通信系统;
为(J = = =宽带无线移动通信系统ARR { 0 } 1:0;J < arr.length;j++){
{ } { J父母ARR ARR { } { } },| | = { };
父母=父母{ { } }度{J}.;
}
}
回报父母;
}

当然,这只是我的理解。如果不是很正确,请帮助大侠们指出,以免误导大家。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部