eval()函数工作原理

亦凉 2022-05-24 05:25 116阅读 0赞

eval()是一个功能强大的函数。

定义用法

eval()函数计算JavaScript字符串,并把它作为脚本的代码来执行。

参数为表达式,eval()执行表达式。

  1. var obj1 = "2 + 3";
  2. var obj2 = eval("2 + 3");
  3. alert("obj1 is " + obj1 + " and obj2 is " + obj2); //return obj1 is 2 + 3 and obj2 is 5

参数为JavaScript语句,eval()执行JavaScript语句。

  1. var obj='obj';
  2. var obj_str=eval('if(obj == "obj") {obj="objstr";} else {obj = "strobj";}');
  3. alert(obj_str);//return objstr
  4. obj_str=eval('if(obj == "obj") {obj="objstr";} else {obj = "strobj";}');
  5. alert(obj_str)//return strobj

eval()常做将json字符串转换成json对象使用。

var jsonObject = eval( “(“ + jsonFormat + “)”);

为什么要加括号使用?

执行下面代码,结果不同

  1. alert(eval("{}");// return undefined
  2. alert(eval("({})");// return object[Object]

程序中的代码块以“{}”作为开始和结束的标记,加上“()”后,迫使eval()执行评估时,强制将JavaScript内的表达式转换成对象,而不是作为语句来执行;不加则被认为执行空语句。

eval()可以将日期转换成表达式或者数字。

发表评论

表情:
评论列表 (有 0 条评论,116人围观)

还没有评论,来说两句吧...

相关阅读

    相关 eval()函数工作原理

    eval()是一个功能强大的函数。 定义用法 eval()函数计算JavaScript字符串,并把它作为脚本的代码来执行。 参数为表达式,eval()执行表达式。

    相关 JS eval()函数

      eval()函数          JavaScript有许多小窍门来使编程更加容易。     其中之一就是eval()函数,这个函数可以把一个字符串当作一个