KFH.010 - JS中var/let/const声明变量的区别


Bruce_Zhu 于 2016.12.14
via.http://blog.csdn.net/u012786716/article/details/50740710


在JavaScript中有三种声明变量的方式:var、let、const。

var:声明全局变量,换句话理解就是,声明在for循环中的变量,跳出for循环同样可以使用。
声明在for循环内部的sum,跳出for循环一样可以使用,不会报错正常弹出结果。


< script>
for (var i = 0; i <= 2; i++)
{
var sum_var = 0;
sum_var += i;
console.log(sum_var);
// 输出:0,1,2
}
console.log(sum_var);
// 输出:2

let:声明块级变量,即局部变量,在for/if等处理块中声明时,for/if结束后即抛弃。 在上面的例子中,跳出for循环,再使用sum变量就会报错。


< script>
let sum = 123;
for (var i = 0; i <= 2; i++)
{
let sum_let = 1;
sum_let += i;
console.log(sum_let);
// 输出:0,1,2
}
console.log(sum_let);
// 报错:Uncaught ReferenceError: sum_let is not defined
console.log(sum);
// 输出:123

const:用于声明类似静态常量,也具有块级作用域。


< script>
for (var i = 0; i <= 2; i++)
{
const PI = 3.1415926;
try{
PI += i;
}catch(err){
console.log(err);
// 输出:TypeError: Assignment to constant variable.at...
}
console.log(PI);
// 输出:3.1415926
}
console.log(PI);
// 报错:Uncaught ReferenceError: G is not defined


你可能感兴趣的:(KFH.010 - JS中var/let/const声明变量的区别)