1、eval(code)方法就像是一个完整的ECMAScript解析器,它只接受一个参数code,code可以是javascript表达式或待执行的ECMAScript(或javascript)字符串。(表达式就是一个没有分号的语句,字符串就是带有引号的语句)
2、eval("alert("ddd")");以及eval( alert("aaa"));都是有效的。
3、如果code包含一个表达式,则eval(code)对该表达式求值并返回这个值。
4、一些表达式(如看起来像语句的对象和函数直接量)在传入eval(code)是必须包含在圆括号中以消除多以性。比如eval('('+code+')');
5、如果eval中传入的参数不是字符串原始值,比如“ddd”,它会直接返回这个值,比如
alert(eval(prompt("aaaaaaaaaaaa","")));由于eval()得到的是prompt("aaaaaaaaaaaa","")这个函数,它所做的动作,而不会返回动作后得到的字串,因此这个语句会产生错误。
但是,如果alert(eval(“prompt("aaaaaaaaaaaa","")”));就不会产生错误了
6、JSON经常会传入JSON字符串,如‘{”name1“:value1,”name2“,value2}’,然后被eval解析为javascript对象,此时,应该这样写eval(‘(' +‘{”name1“:value1,”name2“,value2}’+')');
本文详细阐述了JavaScript eval()方法的功能、用法及其注意事项,包括如何正确使用eval()进行表达式求值、字符串参数处理、JSON字符串解析等关键点。
3万+

被折叠的 条评论
为什么被折叠?



