看来结论有两个(或许还不该这么早下结论)
1、关心js's namespace的人少。
2、还不知道namespace的人也不在少数
再放几天就结贴
1、关心js's namespace的人少。
2、还不知道namespace的人也不在少数
再放几天就结贴
解决方案 »
- 问个相对弱智的js问题
- 如何用JS打开新窗口,并关闭原来窗口
- Js 保存信息并追加信息
- 怎么用javascript实现页面右键菜单中“显示图片”功能?
- 求助
- script编码的问题,比较有难度,估计大家没看过
- 求javascript中得到當年年份的函數
- 好久没来了,孟子老兄哪去了?
- 如何实现,页面事件使一个Link变成disabled的?多谢啦。
- “var doc = top.treeFrame.window.document”这样的写法有错吗?为什么在本机正常,上传后就会报“top.treeFrame.window”不是对象的错??
- 棘手 prototype
- 怎么样控制提交后显示页面的大小?
var YAHOO = function() { return { /**
* Yahoo presentation platform utils namespace
*/
util: {}, /**
* Yahoo presentation platform widgets namespace
*/
widget: {}, /**
* Yahoo presentation platform examples namespace
*/
example: {}, /**
* Returns the namespace specified and creates it if it doesn't exist
*
* YAHOO.namespace("property.package");
* YAHOO.namespace("YAHOO.property.package");
*
* Either of the above would create YAHOO.property, then
* YAHOO.property.package
*
* @param {String} sNameSpace String representation of the desired
* namespace
* @return {Object} A reference to the namespace object
*/
namespace: function( sNameSpace ) { if (!sNameSpace || !sNameSpace.length) {
return null;
} var levels = sNameSpace.split("."); var currentNS = YAHOO; // YAHOO is implied, so it is ignored if it is included
for (var i=(levels[0] == "YAHOO") ? 1 : 0; i<levels.length; ++i) {
currentNS[levels[i]] = currentNS[levels[i]] || {};
currentNS = currentNS[levels[i]];
} return currentNS; }
};} ();
且只看你提供的这段示例,还是停留在很初级的阶段。
{
var nsParts = ns.split(".");
var root = window; for(var i=0; i<nsParts.length; i++)
{
root[nsParts[i]] = root[nsParts[i]] || {};
root = root[nsParts[i]];
}
return root;
}var com={
f : function() {
alert("com function");
},
util : {
f : function() {
alert("com.util function");
}
}
};var b=__using("com");
b.f();
var c=__using("com.util");
c.f();
</script>