这篇文章主要介绍了 JavaScript 必知必会 (五) eval 的使用 的相关资料, 非常不错具有参考借鉴价值,需要的朋友可以参考下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
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 的作用域!
以上所述是小编给大家介绍的 JavaScript 必知必会 (五) eval 的使用的相关知识 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 phperz 网站的支持!
来源: http://www.phperz.com/article/17/0302/265024.html