js本身没有实现namespace,但是可以通过自定义来实现,Yahoo公司出品的YUI就有这个功能,你可以在YUI包build/yahoo/yahoo.js中找到相关实现。例如: 在YUI中:执行 1. YAHOO.namespace ("myspace"); 然后你就拥有了YAHOO.myspace这个名字空间,可以进行类似如下的操作: 2. YAHOO.myspace.alertHello=function() {alert("Hello");} 实质上,YUI.namespace相当于建立了一个表项,准确地说是关联数组(associative array)的一项。 我们可以用以下两句代替上面的1、2语句 1)YAHOO["myspace"]=new function(){}; 2)YAHOO["myspace"].alertHello=function(){ alert("Hello");}; 而且1、2与1)、2)可以交叉组合使用。 不管你使用哪种方式创建自己的名字空间,都有两种方式调用alertHello a. YAHOO["myspace"].alertHello(); b. YAHOO.myspace.alertHello(); |