//20170724 huanhua 定义成全局的变量 
// 在谷歌浏览器下运行的:
// function fun(){ eval('var a=1'); } 此时 定义的 a 就是局部的变量
// function fun(){ var val=eval; val('var a=1'); } 此时定义的 a 就是全局变量
globalEval: function( data ) {
if ( data && jQuery.trim( data ) ) {
// We use execScript on Internet Explorer
// We use an anonymous function so that context is window
// rather than jQuery in Firefox
( window.execScript || function( data ) {
window[
"eval" ].call( window, data );
} )( data );
}
},

这里主要讲的就是 eval在各个浏览器下的作用域问题:

IE中,window.eval()和eval()一样只在当前作用域生效。

Firefox,Safari,Opera中,直接调用eval()为当前作用域,window.eval()调用为全局作用域。

尤其值得注意的是,Google Chrome 的不同版本之间对于eval的处理也有差异。

更多相关文章

  1. 如何使用自定义标头进行AJAX POST跨域
  2. JQuery UI datepicker在绑定到类时不起作用
  3. Jquery 1.9, JS -函数在Chrome中没有定义
  4. 函数的作用是:显示内联块。如何?
  5. Jquery插件Thickbox的使用总结及自定义设置
  6. 未捕获的ReferenceError:HTML未在HTMLTableRowElement.onclick中
  7. 关于jQuery获取html标签自定义属性值或data值
  8. jquery.validate.js使用之自定义表单验证规则
  9. jQuery Ui Draggable在移动端浏览器不起作用解决方案

随机推荐

  1. Android(安卓)压缩工具类
  2. Android调用WebService系列之封装能力
  3. Android与Js通信之JsBridge再封装
  4. 2016这一年,回顾我们一起走过的"编码美丽"
  5. Android(安卓)RIL log全记录
  6. Android版本管理解决方法小议
  7. 获取Android自己写好了的apk以及反编译
  8. android 数据储存——网络存储(5)
  9. Android视图绘制流程完全解析,带你一步步
  10. 【Android自动化打包】03. APK的数字签名