代码示例:
<script>
var data = new Array();
data[0] = 'hi';
data[1] = 'bye';
</script>
<script>
alert(data[0]);
</script>
这会产生以下错误:data is not defined
你是如何让这样的东西工作的?特别是如果第一个<script>
块是通过ajax加载到页面上的,而第二个块是从它开始工作的。可以接受jQuery解决方案。
发布于 2012-04-10 01:14:38
要创建全局变量,只需在语句中省略'var‘即可。当您省略'var‘时,您实际上是在窗口命名空间中创建变量。
所以,zz = 1
实际上是window.zz = 1
如果你真的想这样做,你可以明确地说
window.data = new Array(); //remember that new should be lowercase.
但是你也可以写得更快,只要写成
data = ['hi','bye'];
alert(data);
发布于 2012-04-10 01:26:37
如果你正在使用jQuery,也许你应该尝试.getScript()
而不是.html()
;
// in separate file
data[0] = 'hi';
data[1] = 'bye';
// in main file
var data = [];
$.getScript(url).done(function() {
alert(data[0]);
}).fail(function() {
// handle error
});
发布于 2020-08-20 16:19:27
<script>
data = [];
data[0] = 'hi';
data[1] = 'bye';
</script>
<script>
alert(data[0]);
</script>
使用此命令,删除var使变量成为全局变量
https://stackoverflow.com/questions/10076873
复制相似问题