2011-12-02 76 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

相關問題