阅读:1830回复:1
看到 FF 中 JavaScript 的一个很神奇的 bug,
顺便说一句,eyou.com 对 Firefox 兼容性很好,大家如果有这方面需要的话,可以考虑支持这样的公司。
http://team.eyou.com/?q=node/347 greasemonkey 中的搞笑注释 lzlhero's picture Submitted by lzlhero on 二, 2005-09-13 18:20. 今天读 greasemonkey 的源代码, 发现了一个非常有意思的注释. 因为我看到一个非常无厘头的 eval("42"); 所以, 才引起了我的注意, 下面就是这段注释的内容. // This is the most amazing thing I have ever seen. // Multiple statements in the JavaScript interpreter were causing a crash // in FF 1.0.x. // I described it to Brendan, and, after a bit of thought, he knew right off // the top of his head that adding a pointless eval() would fix it. Magic. eval("42"); var sandbox = new this.sandboxCtor(); var storage = new GM_ScriptStorage(script); var logger = new GM_ScriptLogger(script); var xmlhttpRequester = new GM_xmlhttpRequester(this.unsafeContentWin, this.chromeWindow); 上面注释的意思是说 在firefox1.0.X 中进行乘法运算会引起 JavaScript 引擎崩溃. geasemonkey 的作者跟 Brendan (JavaScript 之父) 描述了这一现象. Brendan想了一会儿, 然后告诉他说, 在运算最前面加一个无意义的 eval() 就可以修复这个错误, 这就是我们所看到的 eval("42") 的由来. |
|
1楼#
发布于:2005-09-26 22:20
看过eyou的开发者blog
那天浏览器报告eval错误,我查了发现是JScript代码。不知道怎么回事。 |
|