javascript - 等待数据存储在某处后如何获取数据?

标签 javascript

我有一张这样的表格:

setInterval(fillTable,2000);

此表每 2 秒刷新一次。等待那 2 秒后,我想从此表中获取数据。

例如,我试试这个:

var table = document.getElementById("myTable");
setTimeout("alert(table.rows.length);",3000);

这最后一行代码应该返回表中已经应该填充的行数(使用 setInterval )。

但是我得到的是:

ReferenceError: table is not defined 

而如果我只是尝试:

alert(table.rows.length);

它返回 0。

怎么了?难道他不知道 2 秒后 table 就满了吗?

提前致谢

最佳答案

您的代码可能在一个函数中:

当您调用 setTimeout 代码时,您正在评估的代码会得到 this 对象作为 window

所以当你访问局部变量时。您的代码将无法运行,因为现在它将在全局对象 (window) 中搜索变量。

所以把你的代码放在函数里面,它就会工作:

setTimeout(function(){
    alert(table.rows.length)
},3000);

关于javascript - 等待数据存储在某处后如何获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29613930/

相关文章:

javascript - 无法在 Plunker 编辑器中添加 Angular.js 脚本

javascript - 将 Moment 对象与时间字符串组合以获得新的 moment 对象

javascript - 为特定系列设置十字准线颜色 - highcharts

javascript - 为什么我的 SetInterval 中没有调用我的函数?

javascript - 使用 gulp 支持旧版浏览器

javascript - 连接函数

javascript - Firebase 和 knockout 无法正常工作

javascript - javascript中的条件下拉菜单,选择器问题

javascript - 我的代码中有哪些错误,因为它无法一键更改图像?

javascript - 为 Singleton 的 Google Closure Compiler 评论 JavaScript