evalTest
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> evalTest </title>
  <meta charset="UTF-8">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
 </head>
<body>
<div id="alert_context"></div>
<script type="text/javascript">
    self.alert=function(str){
		document.getElementById("alert_context").append(str);
		document.getElementById("alert_context").append("\r\n");
	};
    function $(s) { if (document.getElementById) { return eval('document.getElementById("' + s + '")'); } else { return eval('document.all.' + s); } } //eval,这个比较常用
    var myTest = function() { return "eval test"; };
    function evalTest() {
        //简单数据
        alert(eval("1+1"));  //2
        alert(eval("'a'+1"));  //a1
        alert(eval("1+'a'"));  //1a
        alert(eval("parseInt('a'+1)"));  //NaN
        alert(eval("parseInt(1+'a')"));  //1
        alert(eval("true"));  //true
        alert(eval("0==false"));  //true
        alert(eval("1==undefined"));  //false
        alert(eval("isNaN(undefined)"));  //true
        //函数和对象
        alert(eval("this")); //[object]
        alert(eval("typeof(this)")); //object
        alert(eval("typeof(test)")); //undefined
        alert(eval("evalTest")); //这个显示当前函数的定义语句细节,包含注释
        //alert(eval("evalTest()")); //调用自己并执行,这个会有大问题啊!
        alert(eval("typeof(evalTest)")); //function
        //其他
        var tmpFunc = "{a:1}";
        alert(eval(tmpFunc)); //1
        alert(eval("(" + tmpFunc + ")")); //[object object]
        alert(eval("tmpFunc")); //{a:1}
        //alert(eval("tmpFunc()")); //脚本错误
        alert(myTest());
        eval("alert(myTest())"); //和上面等价
        alert(eval(myTest));
        alert(eval("myTest"));  //和上面等价
        //form里的一个input,id=txtUserName
        eval("$('txtUserName').value='jeff wong';"); //等价于 $('txtUserName').value = 'jeff wong';
        eval("alert( $('txtUserName').value);");
    }
    evalTest(); 
/*
 2
 a1
 1a
 NaN
 1
 true
 true
 false
 true
 [object Window]
 object
 undefined
 function evalTest() { //简单数据 alert(eval("1+1")); //2 alert(eval("'a'+1")); //a1 alert(eval("1+'a'")); //1a alert(eval("parseInt('a'+1)")); //NaN alert(eval("parseInt(1+'a')")); //1 alert(eval("true")); //true alert(eval("0==false")); //true alert(eval("1==undefined")); //false alert(eval("isNaN(undefined)")); //true //函数和对象 alert(eval("this")); //[object] alert(eval("typeof(this)")); //object alert(eval("typeof(test)")); //undefined alert(eval("evalTest")); //这个显示当前函数的定义语句细节,包含注释 //alert(eval("evalTest()")); //调用自己并执行,这个会有大问题啊! alert(eval("typeof(evalTest)")); //function //其他 var tmpFunc = "{a:1}"; alert(eval(tmpFunc)); //1 alert(eval("(" + tmpFunc + ")")); //[object object] alert(eval("tmpFunc")); //{a:1} //alert(eval("tmpFunc()")); //脚本错误 alert(myTest()); eval("alert(myTest())"); //和上面等价 alert(eval(myTest)); alert(eval("myTest")); //和上面等价 //form里的一个input,id=txtUserName eval("$('txtUserName').value='jeff wong';"); //等价于 $('txtUserName').value = 'jeff wong'; eval("alert( $('txtUserName').value);"); }
 function
 1
 [object Object]
 {a:1}
 eval test
 eval test
 function () { return "eval test"; }
 function () { return "eval test"; }
*/
</script>
 </body>
</html>

 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号