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(); |