【发布时间】:2016-07-13 08:06:53
【问题描述】:
你好,我实际上认为这样的东西可以在 javascript 中工作。我声明了这个变量,我想重新声明并重新分配它,但如果它以前未定义,则代码应该被忽略,但它就像我弄错了。请看看我做了什么。
var car = 'BMW';
console.log(car);//returns BMW
if (car === undefined)
var car = 'Saab';
console.log(car)// returns Saab
我认为它应该归还宝马。错了吗? 伙计们,我想做的是让 javascript 忽略 Saab 对 car 变量的第二次赋值,因为我认为条件指定 saab 的值只有在未定义或未定义时才应重新分配给 car 变量定义。但它已定义,但 saab 仍然打印出来,if 语句实际上是错误的,因为就我而言,我没有达到我的预期。
【问题讨论】:
-
你在哪里/如何测试这个?它记录了两次“BMW”,而不是“Saab”。
-
1) 不要在同一个变量上多次使用
var。 2)var关键字具有 function 范围,而不是 block 范围。使用 ES6let/const作为块作用域。 -
它没有记录“saab”...正如@str 所问的,“你是如何测试这个的?”,你能在小提琴中显示输出吗?
-
小提琴?我该如何使用它?
-
查看此链接jsfiddle.net
标签: javascript variable-assignment