js的eval函数

今天在看代码的时候发现了一个eval函数,不解其意,通过查询之后,终于知道了,下面是我的总结。

eval函数可以将字符串生成语句执行,格式为:eval(coding),类似于sql语句里面的exec()。

如:alert(eval("2+3"));        //结果为5,而不是2+3

eval函数传入的参数甚至可以是一个函数,但是eval传入的表达式只能在局部执行,不能全局运行,这时的解决方法如下:

var X2={}    //my namespace

X2.Eval=function(code){
    if(!!(window.attachEvent && !window.opera)){
          //ie
          execScript(code);
    }else{
          //not ie
          window.eval(code);
     }
}
//此时调用 X2.Eval(codeStr); 就可以全局执行codeStr代码了

  

你可能感兴趣的:(js的eval函数)