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

变量赋值解释

变量赋值解释

萧十郎 2019-06-03 16:05:41
变量赋值解释鉴于这段JavaScript.。var a;var b = null;var c = undefined;var d = 4;var e = 'five';var f = a || b || c || d || e;alert(f); // 4有谁能给我解释一下这一技术的名称(我最好的猜测在这个问题的标题中!)以及它究竟是如何/为什么工作的?我的理解是这个变量f将被分配给第一个变量的最近值(从左到右),该变量的值既不是NULL,也不是未定义的,但是我没有找到很多关于这种技术的参考资料,并且看到它使用了很多。而且,这种技术是JavaScript特有的吗?我知道在PHP中做类似的事情会导致f具有真正的布尔值,而不是d本身。
查看完整描述

4 回答

?
呼啦一阵风

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

看见短路评估为了解释。这是实现这些操作符的一种常见方法;它并不是JavaScript独有的。


查看完整回答
反对 回复 2019-06-03
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

这是为了分配一个默认值,在这种情况下,y,如果x变量是虚妄.

JavaScript中的布尔运算符可以返回一个操作数,而不总是像在其他语言中那样返回布尔结果。

逻辑OR运算符(||)返回其第二个操作数的值,如果第一个操作数为false,则返回第一个操作数的值。

例如:

"foo" || "bar"; // returns "foo"false || "bar"; // returns "bar"

法尔西价值观是胁迫他人的人。false在布尔上下文中使用时,它们是0nullundefined一根空的绳子,NaN当然还有false.


查看完整回答
反对 回复 2019-06-03
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

JavaScript变量不是类型化的,因此可以为f分配一个整数值,即使它是通过布尔运算符分配的。

f被赋值为最近的值,即不等于假..因此,0,false,null,un定义,都被传递到:

alert(null || undefined || false || '' || 0 || 4 || 'bar'); // alerts '4'


查看完整回答
反对 回复 2019-06-03
  • 4 回答
  • 0 关注
  • 500 浏览
慕课专栏
更多

添加回答

举报

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