2014-09-03 114 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

相关问题