2012-06-22 262 views
1

我有一個簡單的JavaScript模塊如下:訪問模塊變量在JavaScript模塊

var QCH = (function($jquery, undefined) { 

     var QCH = { }; 
     var someDivId; 

     QCH.Init = function(someDivId) { 
       someDivId=someDivId; 
     }; 
     return QCH; 
}($)); 

上面的代碼不起作用。 someDivId與模塊變量和本地初始化變量具有相同的名稱。 在C#中,我們可以使用this.someDivId指向模塊(類)變量。有沒有辦法指向JS中的模塊變量?

我知道我可以更改名稱模塊變量,並使用例如資本案例來區分它與本地,但我想知道是否有更好的方法嗎?

回答

0

你不能。你將不得不重新命名其中的一個。您在外部作用域中映射了someDivId,其中一個作用於內部作用域,JavaScript在解析標識符時忽略了作用域鏈的一個元素(我知道)。