JavaScript 同时声明多个变量并赋值

乐分享主编 2019-11-18 725 阅读

JavaScript变量声明与赋值是极为简单与基础的操作。
也许学习编程第一节课就是会涉及到变量的声明与赋值。
里面涉及到一些平时不会引起注意,但是又比较重要的概念。
本文首先介绍如何同时声明多个变量并赋值,然后引出一些问题进行分析。
首先看如下代码实例:

<script>
let webName="乐分享";
let address="让开发更简单";
</script>

上面分别声明两个变量并赋值,下面将其改造成同时声明并赋值:

<script>
let webName="乐分享",address="让开发更简单";
console.log(webName);
console.log(address);
</script>

声明方式很简单,变量之间用逗号分隔即可,上面同时声明两个变量,当然还可以更多。
上面都很好理解,需要注意的地方来了,看如下代码实例:

<script>
(function(){
var a=b=5;
})();
console.log(b);
</script>

请问上面用var声明了几个变量,可能不少初学者会回答声明两个变量a与b。
事实是错误的,代码分析如下:
(1).上述代码使用var只声明了一个变量a。
(2).b并没有使用var声明,如果它也是用var声明,那么就无法打印出b的值。
(3).可能很多朋友会说,不使用var声明的是全局变量,所以上面也算是同时声明并赋值了两个变量,其实这种说法从来都是错误的,只有利用var声明的才是变量(暂且不考虑let),不使用var的b其实是全局对象的一个属性,也就是说为全局对象添加了一个自定义属性b并赋值,用如下代码可以证明它们之间的不同:

<script>
var webName="乐分享";
address="让开发更简单";
delete webName;
delete address;
console.log(webName);
console.log(address);
</script>

可以看到使用var声明的变量没有被删除,不使用var的被删除,所以代码会报错。
由此可见,两者是不同的,var声明的是一个真正的变量,address只是window的一个自定义属性。

最新游戏