var 和 let的区别_let 和 var的区别

js定义变量前言

1.js 定义变量 使用 var 或者let

2.js定义常量 使用 const

3.var 定义变量是用js语言诞生就有的; let定义变量是从ES6新语法开始的。

4.let定义变量,符合常规强类型语言定义变量逻辑,新定义再使用+不能重复生命。

var 和 let的区别_let 和 var的区别整理如下:

一、作用域级别不同

var是函数级作用域

let只能是块级作用域,跟C#等强类型变量作用域一样。

在函数中声明了var,整个函数内都是有效的,比如说在for循环内定义的一个var变量,实际上其在for循环以外也是可以访问的。

而let由于是块作用域,所以如果在块作用域内定义的变量,比如说在for循环内,在其外面是不可被访问的,所以for循环推荐用let。

代码片段:

//for循环的{} 是块级作用域
for (var i = 0; i < 10; i++) { }
console.info(i); //打印:10

for (let j = 0; j < 10; j++) { }
console.info(j); //j is not defin

你可能感兴趣的:(JavaScript,javascript,开发语言,ecmascript,var,和,let的区别,let,和,var的区别)