标签 块级作用域 下的文章

在ES5中只有全局的作用域和函数作用域,没有块级作用域。这导致在很多场合不合理。如:var temp = new Date(); function go () { console.log(temp); if(false){ var temp = 'hello world'; } } go(); // undefined上面代码的本意是,if代码块的外部使用外层的temp变量,内部使用内层的temp变量。但是go函数执行后,输出的结果是undefined,原因在于变量提升导致内层的temp变量覆盖了外层的temp变量。还有一种情况,用来计数的循环变量泄露为...

阅读全部