Javascript jQuery-使用数组
好的,我修复了DIV和all的最后一个错误 好的,在我的Javascript jQuery-使用数组,javascript,jquery,Javascript,Jquery,好的,我修复了DIV和all的最后一个错误 好的,在我的javascript文件的最顶端。。。我有 $(function() { var games = new Array(); // games array }); 然后在一个新函数中,我有:var gamesLgth=games.length 但是当我运行它时,我得到了这样一个结果:uncaughtreferenceerror:games没有定义 当我因为一开始就初始化它而感到奇怪时…游戏超出了范围。您需要将其存储在其他函数可以访
javascript
文件的最顶端。。。我有
$(function() {
var games = new Array(); // games array
});
然后在一个新函数中,我有:var gamesLgth=games.length代码>
但是当我运行它时,我得到了这样一个结果:uncaughtreferenceerror:games没有定义
当我因为一开始就初始化它而感到奇怪时…游戏
超出了范围。您需要将其存储在其他函数可以访问的地方
例如,这将使变量成为全局变量
var games;
$(function() {
games = new Array(); // games array
});
$(function() {
var gamesLgth = games.length;
console.log(gamesLgth);
});
您将其初始化为单独函数的局部变量。您需要将其设置为全局变量,或者将其作为参数从一个函数传递到另一个函数才能访问它。通过在函数中声明该变量,您已经将该变量的作用域限定到该函数,这意味着该变量games
仅在该函数中可用
$(function() {
var games = new Array(); // games array
...
var gamesLength = games.length; // works fine
});
但以下示例不会:
$(function() {
var games = new Array(); // games array
});
$(function() {
var gamesLength = games.length; // won't work - im in a different scope
});
试试这个
var games = [];
而不是
var games = new Array();
同时也要确定游戏的范围。我将继续为您编写代码:
var games;
$(function(){
games = new Array();
...
});
$(function(){
games.length; // Which would be zero
});
您在函数作用域中初始化了“games”,它在$(function(){…})的边界之外不可用 “然后在一个新的功能中我有……”这可能就是问题所在;当您使用var
定义变量时,该变量将仅对当前函数可用。参见此项:请显示包含新函数的代码。参见此项:您可以仅使用两个字符创建新数组:var games=[]代码>。两者都是等效的,但你在范围方面是对的:)是的,但我不希望游戏阵列再次成为新的。当然!我记得在Java中使用了全局变量之类的东西。它又回来了。!非常感谢。我得到了它。我得到了它。谢谢你,先生。