为了账号安全,请及时绑定邮箱和手机立即绑定

javascript 多个变量声明

javascript 多个变量声明

慕慕森 2018-12-14 10:22:47
最近在看一本 JavaScript面向对象编程指南(第2版)有一个章节提到的多个变量同时声明,但是结果报错?请问是js版本的问题吗?而目前大多数是这样才正确?var a=1,b=2,c=3,d=4;错误代码如下:var v1,v2,v3 = 'hello',    v4 = 42,    v5;    console.log(v1);         // undefined    console.log(v2);         // undefined    console.log(v3);         // hello    console.log(v4);         // 42    console.log(v5);         // undefined
查看完整描述

1 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

我估计是你理解错了。


PS:我也不赞同 定义这种说法,一个变量 应当是 声明和赋值 来描述比较准确


首先,不是报错。


var v1,v2,v3='hello' 这行代码中,声明了 v1,v2 但是没有赋值,声明了 v3 并且赋值了。


因此 v1 v2 是 undefined,(这个不是错误,声明变量不赋值,值就是undefined),v3是'hello'


同时赋值多个是这样子 var v4=v5=v6='hello'; 这行代码的意思是 

首先,给全局变量v6赋值,v6='hello',因为没有声明v6,所以自动创建一个全局变量。

然后在把v6的值赋值给v5(和v6一样的意思)。

最后声明变量v4(这个是声明变量并且赋值),在赋值

可以说 v4和v5/v6的行为是不一样的


参照下面的代码:


    var v1,v2,v3 = 'hello';

    var v4=v5=v6='hello';

    console.log(v1,v2,v3); // undefined undefined "hello"

    console.log(v4,v5,v6); // hello hello hello


查看完整回答
反对 回复 2019-01-24
  • 1 回答
  • 0 关注
  • 427 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信