为什么要写`window["eval"].调用(窗口,数据);` [英] Why write `window[ "eval" ].call( window, data );`

查看:28
本文介绍了为什么要写`window["eval"].调用(窗口,数据);`的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

jQuery 1.7rc1 的第 614 行:

Line 614 of jQuery 1.7rc1:

window[ "eval" ].call( window, data );

为什么不简单地写

eval.call( window, data );?

推荐答案

答案在这里:解码 jQuery,

Jim Driscoll 发现对于更符合标准的浏览器,你可以使用 eval.call(window,data),但对于 Chrome 和 IE,事情有点不同.

Jim Driscoll found out that for more standards-respecting browsers, you could use eval.call(window,data), but for Chrome and IE, things are a bit different.

Internet Explorer:似乎 IE 使用 window.execScript(data)

Internet Explorer: It seems that IE uses window.execScript(data)

Chrome: eval.call(window,data) 在 Chrome 上中断,但是 window[ "eval"].call( window, data) 适用于 Chrome 以及其他非 IE浏览器,这是上述解决方法的基础.

Chrome: eval.call(window,data) breaks on Chrome, but window[ "eval" ].call( window, data) works on Chrome, and as well as other non-IE browsers, this is how the above workarounds based upon.

这篇关于为什么要写`window["eval"].调用(窗口,数据);`的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆