[英]Can't get global variable
这是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当时没有回显窗口对象的快照,所以它显示了全局变量,因为在脚本结尾创建了全局变量,而console.log显示了“完成的”窗口对象。
要解决您的问题,请在文档准备好之后或在合理的延迟后使用setTimeout函数,稍后再运行update_match:
setTimeout(function(){ update_match(); }, 500);
要在文档准备好后运行该功能,请查看以下文章:
您可以通过以下方式实现:
$(document).ready(function() {
update_match();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.