0

下面的代码给出了一些意想不到的结果。谁能告诉我这背后的原因或逻辑?

<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 我无法理解逻辑,请帮助我。

4

1 回答 1

1

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

`s="10+10"`

s就是现在"10+10"

eval(s+s+s)=>

eval("10+10"+"10+10"+"10+10")=>

eval("10+1010+1010+10")=>

2040

和:

eval(s+2)=>

eval("10+10"+2)=>

eval("10+102")=>

112


你可能的意思是:

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

eval(s+"+2")

于 2013-04-16T05:57:58.730 回答