Javascript:跨不同Javascript文件的变量范围

时间:2010-10-26 10:04:49

标签: javascript scope

我在我的一个JavaScript文件中定义了一个变量。我想在JavaScript文件中访问该变量的值。在一个文件中,我正在初始化该变量的值。

我无法访问其他JS文件中的指定值。

我有什么遗失的吗?

3 个答案:

答案 0 :(得分:9)

如果它们位于全局范围内,或者可以从全局范围访问,则应该能够访问它们。

例如,我在script元素的HTML中有一个像这样的对象文字......

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

我可以使用config.basePath在任何其他后续JavaScript文件中访问该文件。

答案 1 :(得分:8)

它必须是一个全局变量,或者可以在相同的范围内访问(例如,某个全局的其他属性),并且必须在访问它之前定义,这意味着你的剧本顺序包括事项。

你不能在一个文件中拥有它:

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

...并在下一个文件中访问它,因为该变量的作用域是该函数。

答案 2 :(得分:6)

同样,一旦全局定义,您可能需要通过窗口对象访问它,如下所示:window.your_variable OR window ['your_variable']