JavaScript必知必会(五) eval 的使用
eval
eval(parse) parse :里面跟参数字符串,我们知道执行javascript 会编译执行,
改变全局变量的值:
var x = ; //定义的全局变量 alert(x);// var g = eval("x="); //eval 会根据当前上下文解析x alert(x);//
在全局作用域引用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的作用域!
相关推荐
宿舍 2020-07-27
amazingbo 2020-07-21
wordmhg 2020-06-26
seanzed 2020-06-14
linxner 2020-05-18
ThinkingLink 2020-05-16
fansenjun 2020-03-01
赵家小少爷 2020-05-11
jessieHJ 2020-05-03
码农成长记 2020-04-19
Dreamhome 2020-04-16
巴壁虎 2020-03-03
amberom 2020-02-25
higheels 2020-02-18
JamesRayMurphy 2020-02-09
jyli 2020-01-21
容数据服务集结号 2020-01-17