2014-09-03 109 views
-1

我想聲明一個全局變量,但在不同的頁面上。 所以我所有的全局變量繼續data.js和所有的JavaScript函數繼續script.js 我可以在JavaScript中做到這一點,但你如何做到這一點在jQuery中? 當我把我所有的JavaScript代碼在如何從函數內部聲明一個全局變量?

$(function() { 
    //JavaScript Codes 

}); 

它不工作了。

這裏是我的代碼:

http://plnkr.co/edit/u9CLTErGugOZoDTonAl3?p=preview

+0

你的意思是從什麼_ ? – Nit 2014-09-03 23:27:11

+0

沒有變化。 *正常的JavaScript規則適用*(但是,請注意,「onready」不會同步執行。)無論如何,什麼*「不起作用」*?演示代碼(其中的一個版本應該包含在問題中)似乎運行得很好。 – user2864740 2014-09-03 23:28:08

+0

只是好奇,爲什麼你想這樣做? – bribeiro 2014-09-03 23:30:53

回答

2

所有的全局變量的JavaScript附加到window對象。您可以將它們明確地綁定到窗口對象:

$(function() { 
    window.test = "Hello"; 
}); 
alert(test); 

你也可以不使用關鍵字var,他們將被隱式綁定到窗口對象:

$(function() { 
    test2 = "World"; 
}); 
alert(test2); 

小提琴:http://jsfiddle.net/6tfr2mh6/

+2

將它們創建爲全局對象的屬性,與全局變量(例如,全局變量在任何代碼執行前都可用,而全局屬性只有在創建它們的代碼執行後纔可用(可能永遠不會)。 – RobG 2014-09-03 23:33:08

+0

哦,我不知道。這個答案不正確。我在你的回覆中使用了它,並且對於任何感興趣的人來說,這裏有更好的答案:http://stackoverflow.com/questions/4862193/javascript-global-variables – Stryner 2014-09-03 23:35:55

1

您可以簡單地使用JavaScript變量,並在使用jquery的另一個腳本中使用它。你不需要使用JQuery聲明變量。

在data.js

var myValue = "I'm on top of the world!!"; 

在的script.js

$(function() { 

    var myFunction = function() { 
    $("#demo").html(myValue); 
    } 

    myFunction(); 
}); 

你可以看到預覽在這裏: 「在不同的頁面」 http://plnkr.co/edit/A9W1rE39DqSLzChX8Qk9?p=preview

相關問題