js中let与var有什么区别?

1、区别:

var定义的变量是全局变量或者函数变量。

let定义的变量是块级的变量。

2、全局变量:

指没有定义在任何函数内,直接定义在全局作用域中的变量。

特点:随处可用,可重用。

何时:希望随处可用,且可反复使用的变量,都要声明在函数之外的全局。

3、局部变量:

指定义在函数内的参数和变量,都是局部变量。

特点:仅函数内可用,出了函数不可用,不可重用。

何时:希望变量只在函数内有效时,都要在函数内创建变量。