2010-10-26 56 views
8

我在其中一個JavaScript文件中定義了一個變量。我想在JavaScript文件中訪問該變量的值。在一個文件中,我正在初始化該變量的值。Javascript:跨越不同Javascript文件的變量範圍

我無法訪問另一個JS文件中的指定值。

有什麼,我失蹤?

+0

你能告訴我們你如何申報呢?以及在哪裏 – 2010-10-26 10:07:33

回答

9

如果應用程序處於全局範圍或可以從全局範圍訪問,您應該可以訪問它們。

例如,我的文字是這樣一個對象,我在script元素HTML ...

<script type="text/javascript"> 
    var config = { 
     basePath: '/path/' 
    }; 
</script> 

,我可以在任何其他後續的JavaScript文件與config.basePath訪問。

+0

這可以在一個單獨的js文件?我已經嘗試過這一點,我似乎無法得到它的工作。我得到,Uncaught ReferenceError:配置未定義 – diek 2015-07-15 08:04:48

+0

@diek您需要研究JS範圍,但是有可能是在不同的文件中。 – alex 2015-07-21 01:20:38

+0

嗨亞歷克斯,謝謝我實際上採用了不同的方法。但我確實讓你的工作也是如此。 – diek 2015-07-22 02:11:58

8

它必須是一個全局變量,或者可以在同一範圍內訪問(例如,其他屬性是全局的屬性),並且必須在您訪問之前定義,這意味着您的腳本的順序包括事項。

不能例如有這樣一個文件:

(function() { 
    var something = "blah"; 
})(); 

...和訪問它的下一個文件,因爲該變量的作用域是該功能。

6

而且,一旦全局定義的,則可能需要通過這樣的窗口對象可以訪問它:window.your_variable或窗口[「your_variable」]