【学习】js学习笔记:内置顶层函数eval()的兼容用法

今天学了一个内置顶层函数,eval();其作用是将字符串转换成javascript命令执行,但必须符合语法,否则会报错。

如果写成window.eval(),则其定义的变量会在全局生效。

但是,在IE中,(测试为IE8及以下), window.eval()定义的变量不能在全局作用域生效,而ie有自己的一个函数为window.execScript()可以做到同样的效果。于是,在实际应用中,需要一个判断的函数,分别使用。如下:

function evals(str){

                   if(typeof str!="string"){//如果参数的类型不等于字符串类型

                            return;

                            }

                   if(window.execScript){

                            window.execScript(str);

                            }

                   else{

                            window.eval(str);             

                            }                

                           

                   }

        

         function aa(){

                   evals("var a='弹出内容'");

                   alert(a);

                   }

         aa();

         alert(a);

原文地址:https://www.cnblogs.com/xiaoxianweb/p/5729222.html