无法获取全局变量
Can't get global variable
这是window
:
所以现在,当我向下滚动时(children 以与上面显示的相同的方式出现,一直显示),我看到了我想要的:
但我无法访问它。为什么?
这是代码,位于 js 文件夹中的函数中:
function update_match(slot, match, s) {
$("#match" + slot + " i").text(match);
console.log(window);
console.log(window.saves1); // undefined
console.log(window.external.saves1); // undefined
(slot == 1) ? window.saves1.item = s : window.saves2.item = s;
}
变量是这样创建的:
function set_global(name, pos, ab, needSave, s) {
window.saves1 = {item: s};
window.saves2 = {item: s};
}
在 js/main.js 文件中。
文件结构是这样的:
index.php (where the php code runs and calls update_match())
js - main.js
- read_match.js
你运行宁update_match太早了。
似乎您在 运行 设置 update_match 时,全局变量尚未定义。它们是稍后创建的。但是因为 console.log,当时没有回显 window 对象的快照,它显示了全局变量,因为在你的脚本结束时它们被创建并且 console.log 显示了"finished" window 对象。
要解决您的问题,运行 稍后 update_match,在文档准备好之后或使用 setTimeout 函数以合理的延迟:
setTimeout(function(){ update_match(); }, 500);
到运行文档准备好后的功能,看看这个post:
jQuery Mobile: document ready vs page events
您可以通过以下方式完成:
$(document).ready(function() {
update_match();
});
这是window
:
这是代码,位于 js 文件夹中的函数中:
function update_match(slot, match, s) {
$("#match" + slot + " i").text(match);
console.log(window);
console.log(window.saves1); // undefined
console.log(window.external.saves1); // undefined
(slot == 1) ? window.saves1.item = s : window.saves2.item = s;
}
变量是这样创建的:
function set_global(name, pos, ab, needSave, s) {
window.saves1 = {item: s};
window.saves2 = {item: s};
}
在 js/main.js 文件中。
文件结构是这样的:
index.php (where the php code runs and calls update_match())
js - main.js
- read_match.js
你运行宁update_match太早了。
似乎您在 运行 设置 update_match 时,全局变量尚未定义。它们是稍后创建的。但是因为 console.log,当时没有回显 window 对象的快照,它显示了全局变量,因为在你的脚本结束时它们被创建并且 console.log 显示了"finished" window 对象。
要解决您的问题,运行 稍后 update_match,在文档准备好之后或使用 setTimeout 函数以合理的延迟:
setTimeout(function(){ update_match(); }, 500);
到运行文档准备好后的功能,看看这个post:
jQuery Mobile: document ready vs page events
您可以通过以下方式完成:
$(document).ready(function() {
update_match();
});