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>

 

posted @ 2018-02-07 16:59  sky20080101  阅读(104)  评论(0)    收藏  举报