eval函数语法
eval(codes);
eval函数参数
codes字符串形式的表达式或语句
eval函数返回值
如果没有参数,返回undefined
如果有返回值将返回此值,否则返回undefined
如果为表达式,返回表达式的值
如果为语句返回语句的值
如果为多条语句或表达式返回最后一条语句的值
eval函数说明
除了解析JSON对象外,eval在程序中很少使用
使用eval解析JSON对象
var json=eval("({sitename:'dreamdu',sitedate:new Date(1980, 12, 17, 12, 0, 0)})"); document.write(json.sitename); document.write(json.sitedate);
结果
dreamdu Sat Jan 17 12:00:00 UTC+0800 1981
提示:由于eval可以任意执行JavaScript代码,因此可能带来安全问题
示例
document.write(eval()); document.write(eval("6+8")); document.write(eval("6+8;7+9")); document.write(eval("var a=1"));
结果
undefined 14 16 undefined
使用eval解析json对象
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>eval函数解析json对象</title> </head> <body> <script type="text/javascript"> var json=eval("({sitename:'dreamdu',sitedate:new Date(1980, 12, 17, 12, 0, 0)})"); document.write(json.sitename); document.write("<br />"); document.write(json.sitedate); </script> </body> </html>