BlackLeft老师讲课了——javascript中const\var\let是什么

2019年4月9日

一.开场白


这是一篇给对const、var、let不怎么了解的人进行讲解的文章。

二.const\let\var是什么


MDN上面说明了const是什么,const是指常量,什么是常量呢?我们就不讲解了,可以自己在网上查常量的定义。我们继续讲,常量是块级作用域,什么是块级作用域呢?你可以简单理解成在"{}"大括号内部就是块内部。我们继续,const它很像使用let语句定义的变量。let是什么我们之后讲解,继续介绍我们的const常量的值不能通过重新赋值来改变,并且不能够重新声明。如果你在代码里面写:
const testNumber = 22;
testNumber = 22;//这是一个会报错的地方
这就不对了,因为const修饰的变量不能够重新赋值。
接下来我们看一下MDN上怎么说let的,let语句声明一个块级作用域的本地变量,这可以怎么理解呢?个人的理解是指它是只在"{}"大括号中才能够有用的内容。比如我们写一个函数的例子,每一个"{}"可以当做一个块,而let就是可以用在其中:
function letTest(){
    let x = 1;
    if(true){
        let x = 2;
        console.log(x);//2
    }
    console.log(x);//1
}
理解出来了什么没?if语句中"{}"内部定义x和函数内部定义的x根本不是一个x,所以这个就是let。接下来继续讲讲我们的let,它还这样定义了,可选的将其初始化为一个值,也就是说我们可以定义,也可以不定义。接下来讲一下我们最常见的var吧
var在MDN中怎么定义的呢?MDN上说了,var声明语句声明一个变量,并可选的将其初始化为一个值,我们就简单的理解一下,var就是声明一个变量,并且可以将它进行赋值,也可以不赋值。如果我们不赋值呢?那么它将会有一个默认的值,默认值是undefined。赋值的话,就是你想赋值什么就可以赋值什么。那么var的作用域是什么呢?根据情况而定——用var声明的变量的作用域是它当前的执行上下文,它可以是嵌套的函数,也可以是声明在任何函数外的变量。如果你重新声明一个JavaScript变量,它将不会丢失其值。我们来理解一下这段话,作用域是它的当前的执行上下文,那么我们可以理解这里所谓的上下文,好了你不要使劲的钻牛角尖,你就理解成整个代码部分得了(这里不确定是不是误人子弟)继续扯我们的var,我们的var可以说是在任何作用域中都使用也没问题。“如果你重新声明一个JavaScript变量,它将不会丢失其值”这句话怎么理解呢?其实就是如下:
var test = 5;  //此时test是不是5了呢,对没错,然后继续
var test;
var test;
var test;
是的你没有看错,就是这么鲨雕,不断地重新声明它依然还是5。这句话地意思就是这样。现在是不是都差不多基本地了解了这个const还有let还有var了呀?

3.怎么用?

你想问我怎么用?我只想说,你爱怎么用怎么用,别问这种问题!啊呸!

本内容纯原创,转载请标明出处————————————作者:BLackLeft    日期:2019年4月9日21点45分

猜你喜欢

转载自blog.csdn.net/CPC_BlackLeft/article/details/89163313