gpt4 book ai didi

javascript - 间歇性 JavaScript 问题

转载 作者:行者123 更新时间:2023-12-02 20:32:58 25 4
gpt4 key购买 nike

我正在通过 eval 运行一些 JavaScript(我知道,开枪吧),它基本上枚举了文档对象上的所有属性。我的问题是,虽然它在 firebug 中工作,但从脚本运行时,它在 Firefox 中抛出未实现的异常。

Link to JavaScript script, the exception thrown, and the firebug command working.

对于这里发生的事情有什么建议吗?

郑重声明,这是在 Ubuntu 10.04 64 位的 Firefox 3.6.10 上完成的,而 Chrome 没有这个问题。

最佳答案

错误在这里:

console.log(result);

删除该行,一切都会好起来的。

console 对象是一个 Firebug 对象(指 Firebug 控制台)。 Safari/Chrome 恰好也实现了一个 console 对象(指 Webkit js 控制台)。 Firefox,实际上其他浏览器没有控制台对象。所以它会抛出一个错误。

顺便说一句:像往常一样,评估完全没有必要。这是完全相同的代码:

for (key in document) {
result[i] = typeof document[key];
result[i+1]="document."+key;
i+=2;
}

如果您坚持将其称为请求,则将其用作引用:

var request = window.document;
for (key in request) {
result[i] = typeof request[key];
result[i+1]=request+"."+key;
i+=2;
}

如果您坚持通过字符串传递对象名称,那么为了理智起见,请以一种不那么困惑的方式使用 eval:

var string = "window.document";
eval("var request ="+string);
for (key in request) {
result[i] = typeof request[key];
result[i+1]=request+"."+key;
i+=2;
}

尽管我什至不会这样做(有时这是必要的,但只是很少)。

关于javascript - 间歇性 JavaScript 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3780831/

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