多读多写多记录,多学多练多思考。----------- Grapefruit.Banuit Gang(香柚帮)
关于声明变量,我们有var , let , 和 const几种方式,这次就来简单说一下他们之间的区别所在:
var:
通过一个简单的小例子来看一下var ,
var a = 30;
if(true){
var a = 50;
console.log(a) //50
}
console.log(a) //50
js打印一个变量时,都是从下往上找的,通过例子可以看到两次打印都是50,说明两次打印所找到的都是if语句中的var,这说明var 的作用域是全局的,不管在哪都可以使用的。
let:
同样的方法可以看一下let
let a = 30;
if(true){
let a = 50;
console.log(a) //50
}
console.log(a) //30
例子可以看出,二次打印时他并没有找到 if 语句中声明的a变量,而是又继续向上找的 if 外面声明的a,由此可见let声明的变量只在作用域范围内有效,出了作用域就找不到,可以看一下:只要出了作用域就会报错了
{
let a = 30
}
console.log(a) //报错
const:
const其实是声明常量所用
const x = 10;
x = 100;
console.log(x) //报错
const声明常量是不可以更改的,更改就会报错
但是有一点需注意:那就是const声明的数组是可以通过push等方法往里面添加或删除数组的,但是不可更改类型,否则也会报错:
const arr = [];
arr = "Green";
console.log(arr ); //报错
arr .push("red");
arr .push("blue");
console.log(arr ); //正常打印
好了,就是这些了,希望能帮助一些朋友!!!