⑴ javascript中eval的用法
1、和其他解释性语言一样, 同样可以解释运行由javascript源代码组成的字符串,javascript 通过eval()来完成。
2、 eval() 其实是一个函数,是javascript很早版本中就已经存在,但是javascript设计者和解释器对其进行了许多的限制,看起来eval更像一个运算符。
但是作为用于动态执行代码,eval存在这样的问题,解释器无法对动态代码做进一步的优化。如果将它看做一个函数,那它是可以被赋予其他名字的:
var A = eval;
var B = A;
如果是这样的话,那么解释器就无法优化调用B()的函数了。因此设计者赋予eval一些运算符的特性(作为保留字)之后这些问题得到解决。当然它还有更多的限制,留待读者慢慢体会。
(1)js创建eval扩展阅读
javascript中eval的用法代码:
1、varglobalEval=eval;//定义全局eval函数别名
2、vara='global',b='global';//全局变量
3、functionc(){vara='local';//局部变量
4、eval('a+="changed"');//直接更改局部变量的值
5、returna;//返回更改后的局部变量
6、functiond(){varb='local';
7、globalEval("b+='changed'");
8、returnb;}
9、console.log(c(),a);//localchanged
10、globalconsole.log(d(),b)//local
11、globalchanged