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

EVAL() function in Html & JavaScript giving weird results....!

本文关键字:结果 JavaScript EVAL 中的 函数 Html      更新时间:2023-09-26

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

<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我不懂逻辑,请帮助我。

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

`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")