eval
eval(parse) parse :里面跟参数字符串,我们知道执行javascript 会编译执行,
改变全局变量的值:
全局变量
alert(x);//
var g = eval("x="); //eval 会根据当前上下文解析x
alert(x);//
在全局作用域引用eval,改变全局作用域的值,不改变局部作用域的值
全局变量
(function f() {
var x = "local";
g("x+='changed'");
alert(x);//局部变量local
})();//IIFE 立即执行表达式
alert(x);//全局变量的值globalchanged
在局部作用域内引用改变局部变量的值,不改变全局变量的值
全局变量
(function f() {
var x = "local";
eval("x+='changed'");
alert(x);//局部变量localchanged
})();//IIFE 立即执行表达式
alert(x);//全局变量的值global
summary
eval 执行会根据上下文来判断改变的变量时局部的还是全局的,所以使用eval函数,关键是看清引用eval的作用域!
以上所述是小编给大家介绍的JavaScript必知必会(五) eval 的使用的相关知识 。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。