Html&中的EVAL()函数JavaScript给出了奇怪的结果......!

时间:2013-04-16 05:50:30

标签: javascript html eval

以下代码给出了一些意想不到的结果。任何人都可以告诉我背后的原因或逻辑吗?

<HTML><body><script type="text/javascript">s="10+10";alert("here 3 : "+eval(s+s+s));alert("here 4 :+eval(s+2));</script></body></HTML>

在第一次提醒时它正在提供2040,在第二次提醒时它正在提供112 我无法理解逻辑,请帮助我。

1 个答案:

答案 0 :(得分:1)

eval是不好的做法,如何回答你的问题:

`s="10+10"`

s现在是"10+10"

eval(s+s+s) =&gt;

eval("10+10"+"10+10"+"10+10") =&gt;

eval("10+1010+1010+10") =&gt;

2040

eval(s+2) =&gt;

eval("10+10"+2) =&gt;

eval("10+102") =&gt;

112


你的意思是:

eval(s+"+"+s+"+"+s)

eval(s+"+2")