javaScript 工作必知(五) eval 的使用
2016-05-29 10:05
471 查看
eval
eval(parse) parse :里面跟参数字符串,我们知道执行javascript 会编译执行,改变全局变量的值:
var x = 2; //定义的全局变量 alert(x);//2 var g = eval("x=3"); //eval 会根据当前上下文解析x alert(x);//3
在全局作用域引用eval,改变全局作用域的值,不改变局部作用域的值
var g = eval; //全局引用eval var x = "global";//定义全局变量 (function f() { var x = "local"; g("x+='changed'"); alert(x);//局部变量local })();//IIFE 立即执行表达式 alert(x);//全局变量的值globalchanged
在局部作用域内引用改变局部变量的值,不改变全局变量的值
var g = eval; //全局引用eval var x = "global";//定义全局变量 (function f() { var x = "local"; eval("x+='changed'"); alert(x);//局部变量localchanged })();//IIFE 立即执行表达式 alert(x);//全局变量的值global
summary
eval 执行会根据上下文来判断改变的变量时局部的还是全局的,所以使用eval函数,关键是看清引用eval的作用域!相关文章推荐
- JSP 内置对象和域
- ExtJS创建Form表单
- localStorage存值取值以及存取JSON,以及基于html5 localStorage的购物车
- JSP 基本语法
- JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)
- js 弹窗控制,实现可拖拽,设置大小
- js获取客户端信息
- JavaScript概览(三)--函数
- js秘密花园
- Javascript继承
- 使用JavaScript判断用户是否为手机设备
- Javascript 对象封装的例子
- JS中如何输出空格
- 自己写的基于JavaScript DOM 仿一些页面的鼠标移动显示相应区块内容
- 自己写的基于JavaScript DOM 仿一些页面的鼠标移动显示相应区块内容
- 自己写的基于JavaScript DOM 仿一些页面的鼠标移动显示相应区块内容
- 自己写的基于JavaScript DOM 仿一些页面的鼠标移动显示相应区块内容
- 自己写的基于JavaScript DOM 仿一些页面的鼠标移动显示相应区块内容
- 自己写的基于JavaScript DOM 仿一些页面的鼠标移动显示相应区块内容
- 自己写的基于JavaScript DOM 仿一些页面的鼠标移动显示相应区块内容