声明变量var与let和const的区别

声明变量var与let和const的区别

前言

JavaScript的变量是松散的,即变量是可以保存任何类型的数据。每一个变量不过是保存任意值的**‘命名占位符’。可以声明变量的有:var、let、const;其中var时JavaScript最早使用的声明可以在任意版本的JavaScript中使用,而let以及const只能在ES6或更晚的版本中使用。


一、var关键字

使用var定义变量,var为关键字,后面跟变量名;
例如: var name;
以上代码为定义了一个名字为name的变量,但变量声明者并未保存任何类型的值,所以变量会自动保存一个特殊值undefined(未明确的、未定义的)。
我们使用时可以给他设一个值:

下面展示一些 代码

//我们声明一个变量name,并输出它的值;
	<srcipt>
	//第一种:
		var name = "Tom";
		console.log(name);
	//第二种:
		name = "Jerry";
		console.log(name);
	</srcipt>

按下F12,Console控制台输出如下:
在这里插入图片描述

我们可以看到第一种和第二都可以成功的输出,但是并不推荐使用第二种写法,不推荐的原因:

1.var的声明作用域
(1)var的操作符定义的变量会成为包含他的函数的局部变量。那么这个变量将在函数调用执行结束后退出销毁,在之后调用函数内部的变量不会显示!

<script>
     function scope() {
        var aaa = "Tom" //局部变量
     }
     piece();
     console.log(aaa)   //出错!
</script>

(2)不适用var关键字,相当于在函数内部声明了一个全局变量,变量不会受函数的影响,只要调用一次该函数,在全局都可以调用,但是也导致代码混乱使代码语义化开发维护变得困难,在严格模式下不可用。

<script>
     function scope() {
        aaa = "Tom"     //全局变量
     }
     scope();
     console.log(aaa)   //"Tom"
</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值