2011-12-02 72 views
12

如何调用存储在另一个JavaScript文件中的变量?将变量从一个JavaScript文件调用到另一个文件

var.js

var VAR = new Object; 
VAR.myvalue = "Yeah!"; 

话,我想在这里使用VAR.myvalue

sample.js

alert(VAR.myvalue); 
+1

...你* *试试这个? –

+0

是的,但没有奏效。 –

+0

你在sample.js之前加入了var.js吗?也许把'alert'放在肯定会被叫的地方? – Kevin

回答

11

首先,取代

var VAR = new Object; 
VAR.myvalue = "Yeah!"; 

选择

var VAR = { 
    myvalue: "Yeah!" 
}; 

但只要var.js之前 sample.js引用第一,你有什么应该工作的罚款。

var.js会声明,并初始化VAR,这将在sample.js声明的脚本读取

+0

是的,尝试了几次,但仍然没有奏效。 –

+0

@RobinCarloCatacutan - 它应该工作。请发布更多代码 –

+0

我刚才创建了一个示例,是的,它的工作表示感谢。但在我的情况下,因为我正在应用这个小部件,它没有。也许我的代码存在问题。 :)但是,谢谢。 –

2

包含在一个HTML文件中同时JavaScript文件,将sample.jsvar.js使VAR.myvalue有效后:

<script type="text/javascript" src="var.js"></script> 
<script type="text/javascript" src="sample.js"></script> 
2

尝试使用module pattern分隔您的范围。这将消除未来的头痛。

var.js

var someVar = (function() { 
    var total = 10; // Local scope, protected from global namespace 

    return { 
    add: function(num){ 
     total += num; 
    } 
    , sub: function(num){ 
     total -= num; 
    } 
    , total: function(){ 
     return total; 
    } 
    }; 
}()); 

然后你就可以使用该对象的方法和属性从其他地方。

sample.js

someVar.add(5); 
someVar.sub(6); 
alert(someVar.total()); 
+0

嘿,这是一个在我的小部件上的作品。你可以让这更简单,因为我只是想将我的值存储到其他JavaScript,只是调用它。正是我上面所说的。感谢提前:) –

+0

大声笑,重点是'学习你的东西'关于JavaScript OOP。 Adam Rackis上面的答案在没有方法的情况下是相同的,只有对象属性,但基本上以相同的方式工作。 –

+0

@Pastor Bones - 你没有真正回答这个问题:你没有提到的关键点是必须包含“var.js”_before_“sample.js”。 (另外,我同意模块模式可能是有用的,但只有当您确实需要方法时才是有用的。如果您只需要一些数据属性,那么简单的对象文本就是一种方法。) – nnnnnn

相关问题