var变量的作用域在一个函数中,就算有(if、for)代码段,变量声明也会在函数执行前移动到函数的顶端,
function foo(): void{
if(true){
var bar: number=0; // 作用域为函数内,装载阶段声明,执行阶段赋值
}
alert(bar); // 此处不会报错 // 执行阶段,输出值
}
let关键字允许我们将作用域设置在代码段(if、while、for等)
function foo():void{
if(true){
let bar:number=0; // 只会在 if 内被访问,不会提升到函数的顶端
}
alert(bar); // error
}
网友评论