为什么要写`window ["eval"] .call(window,data);`

Ran*_*lue 9 jquery

jQuery 1.7rc1的第614行:

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

为什么不简单写

eval.call( window, data );

scr*_*ola 7

答案在这里:解码jQuery,

Jim Driscoll发现,对于更多符合标准的浏览器,你可以使用eval.call(窗口,数据),但对于Chrome和IE,情况有点不同.

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

Chrome:eval.call(窗口,数据)在Chrome上中断,但是窗口["eval"] .call(窗口,数据)在Chrome以及其他非IE浏览器上运行,这就是基于以上解决方法的方法.