eval函数-求值顺序
eval function - order of evaluation
当我给出下面的语句时,输出显示为-200。
有人能帮我弄清楚eval()内部到底发生了什么吗
alert(eval(5-5*5+"5 + 5"));
有两个步骤:通过您看到的操作计算字符串,然后对该字符串求值。
你所评估的是的结果
5-5*5+"5 + 5"
哪个是
( 5 - (5*5) ) + "5 + 5"
哪个是
-20 + "5 + 5"
这里有一个稍微棘手的部分:添加数字和字符串是通过字符串串联完成的,所以该操作的结果是
"-20" + "5 + 5"
它给出
"-205 + 5"
然后对该字符串进行求值,从而得到-200
相关文章:
- javascript函数和代码隐藏函数的执行顺序
- 使函数按顺序运行[Node JS]
- AngularJS:如何按照预定义的顺序执行函数
- 按顺序执行导入的 Javascript 函数
- $http.post() angularjs 响应函数未按正确的顺序执行
- 如何按顺序执行 jQuery 函数
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 如何按顺序调用延迟函数
- 使用promise或setTimeout确定延迟函数的调用顺序
- 使用Node中的Q promise库对值数组顺序调用/执行相同的函数;并返回带有结果的新数组/集合
- 我如何向这个脚本添加一个点击按钮循环URL函数(按给定顺序在URL之间切换),或者这可能吗
- JS中jQuery函数的过程顺序
- 如何按顺序记录多个函数的返回
- 调用加载的顺序函数会意外中断代码
- JQuery 顺序函数调用
- 顺序函数调用
- 顺序函数调用
- javascript中的顺序函数调用
- 顺序函数调用的执行上下文-这将更改为窗口
- 顺序函数调用,而其中一个使用setTimeout