JavaScript必知必会(五) eval 的使用
eval
eval(parse)parse:里面跟参数字符串,我们知道执行javascript会编译执行,
改变全局变量的值:
varx=;//定义的全局变量 alert(x);// varg=eval("x=");//eval会根据当前上下文解析x alert(x);//
在全局作用域引用eval,改变全局作用域的值,不改变局部作用域的值
varg=eval;//全局引用eval varx="global";//定义全局变量 (functionf(){ varx="local"; g("x+='changed'"); alert(x);//局部变量local })();//IIFE立即执行表达式 alert(x);//全局变量的值globalchanged
在局部作用域内引用改变局部变量的值,不改变全局变量的值
varg=eval;//全局引用eval varx="global";//定义全局变量 (functionf(){ varx="local"; eval("x+='changed'"); alert(x);//局部变量localchanged })();//IIFE立即执行表达式 alert(x);//全局变量的值global
summary
eval执行会根据上下文来判断改变的变量时局部的还是全局的,所以使用eval函数,关键是看清引用eval的作用域!
以上所述是小编给大家介绍的JavaScript必知必会(五)eval的使用的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!