javascript中的eval(code)

本文详细阐述了JavaScript eval()方法的功能、用法及其注意事项,包括如何正确使用eval()进行表达式求值、字符串参数处理、JSON字符串解析等关键点。
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}’+')');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值