gpt4 book ai didi

javascript - 无法获取全局变量

转载 作者:行者123 更新时间:2023-12-03 08:54:49 25 4
gpt4 key购买 nike

这是窗口:enter image description here所以现在,当我向下滚动时( children 以与上面显示的方式相同的方式出现,一直),我看到了我想要的:enter image description here但我就是无法访问它。为什么?

这里是位于 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 显示了“完成的”窗口对象。

要解决您的问题,请稍后在文档准备好后运行 update_match 或使用 setTimeout 函数并合理延迟:

setTimeout(function(){ update_match(); }, 500);

要在文档准备好后运行该函数,请查看这篇文章:

jQuery Mobile: document ready vs page events

你可以通过以下方式做到这一点:

$(document).ready(function() { 

update_match();

});

关于javascript - 无法获取全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32554248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com