eval()函数工作原理
eval()是一个功能强大的函数。
定义用法
eval()函数计算JavaScript字符串,并把它作为脚本的代码来执行。
参数为表达式,eval()执行表达式。
var obj1 = "2 + 3";
var obj2 = eval("2 + 3");
alert("obj1 is " + obj1 + " and obj2 is " + obj2); //return obj1 is 2 + 3 and obj2 is 5
参数为JavaScript语句,eval()执行JavaScript语句。
var obj='obj';
var obj_str=eval('if(obj == "obj") {obj="objstr";} else {obj = "strobj";}');
alert(obj_str);//return objstr
obj_str=eval('if(obj == "obj") {obj="objstr";} else {obj = "strobj";}');
alert(obj_str)//return strobj
eval()常做将json字符串转换成json对象使用。
var jsonObject = eval( “(“ + jsonFormat + “)”);
为什么要加括号使用?
执行下面代码,结果不同
alert(eval("{}");// return undefined
alert(eval("({})");// return object[Object]
程序中的代码块以“{}”作为开始和结束的标记,加上“()”后,迫使eval()执行评估时,强制将JavaScript内的表达式转换成对象,而不是作为语句来执行;不加则被认为执行空语句。
eval()可以将日期转换成表达式或者数字。
还没有评论,来说两句吧...