我在SO中有另一个关于setTimeout()的问题,其中一个用户提到如果函数参数是一个字符串,它将在全局范围内进行评估,否则它不是.这让人大开眼界,所以我试图找到更多关于setTimeout实际工作方式的信息,但它不是EcmaScript规范的一部分,甚至MDN都没有我在SO中找到的那些特定信息.
关于如何setTimeout()运作有一些很好的参考?
这是一些示例代码.我想知道为什么我不应该这样做.
//some code
var x = "hello";
{
var y = "nice";
function myfunction() {
//do stuff . . .
}
}
Run Code Online (Sandbox Code Playgroud)
我看到这样做的好处是能够以块的形式组织代码段并让自动格式化程序做一些工作...
在我的测试中,{}在创建var或函数时不会影响范围.