美文网首页js
javaScript中var于let区别

javaScript中var于let区别

作者: IT雪山 | 来源:发表于2018-10-18 00:02 被阅读0次

ES6引入let关键字,在JS中var 与let都是用来声明变量,var没有块级作用域,let有。let因为有了块级作用域,还会带来其他的不同

1 关于块级作用域
对于var

   var a = 0;
   {
    var a = 1;
   }
   console.log(a);//1

对于let

let a = 0;
{
let a = 1;
}
console.log(a); // 0

2 重定义同名变量
var

var b = 1;
var b = 2;
console.log(b); //2

var b = 1;
{
var b = 2;
}
console.log(b); // 2

let

let b =1;
let b = 2; //报错Identifier 'b' has already been declared

let b = 1;
{
let b = 2;
}

console.log(b); //1

3 变量提升

var a = 1;
function foo() {
console.log(a); // undefined
var a = 2;
}
foo();
如果是let则抛异常。 a is not defined

相关文章

网友评论

    本文标题:javaScript中var于let区别

    本文链接:https://www.haomeiwen.com/subject/kxidzftx.html