在js中定义变量的方式有三种,其中let和const关键字是来自ES6中的,下面将逐一介绍各个关键字声明变量的特点。
var声明变量
var 是一个 JS关键字,用来声明变量( variable 变量的意思 )。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员。
1.js可以允许变量不声明直接使用
2.js中使用var声明的变量没有块级作用域
Js中没有块级作用域(在ES6之前)。
if(true){
var num = 123;
console.log(123); //123
}
console.log(123); //123
由于js中没有块级作用域,所以在if内部定义的变量,在外部也可以直接调用进行访问。
let声明变量
ES6中新增用于声明变量的关键字let.
1.let声明的变有块级作用域
在es6之前,声明的变量是没有块级作用域的概念,但是在es6中用let声明的关键字有块级作用域。
• 块作用域指的是由 { } 包括。
• 在其他编程语言中(如 java、c#等),在 if 语句、循环语句中创建的变量,仅仅只能在本 if 语句、本循环语句中使用,如下面的Java代码:
java有块级作用域:
if(true){
int num = 123;
system.out