gpt4 book ai didi

JavaScript eval ("{}") 返回行为?

转载 作者:搜寻专家 更新时间:2023-11-01 05:14:25 24 4
gpt4 key购买 nike

根据ECMA-262 Specification ,以下语句返回 1:

eval("1;;;;;")
eval("1;{}")
eval("1;var a;")

确保:

The value of a StatementList is the value of the last value producing Statement in the StatementList.

你能解释一下这些不同的返回吗?

eval("{}") // undefined
eval("var a={}; a;") // {}
eval("var a={};") // undefined

1;{}; 有什么区别?

最佳答案

单独放置时,{} 被解释为一个 block ,而不是一个对象。它不包含任何语句,因此不会影响 eval("1;{}") 的值。要强制将其解释为对象,您可以使用括号:

eval("1;({})"); // {}

关于JavaScript eval ("{}") 返回行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10791202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com