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

执行下面的语句后,V的值为什么是这样?

执行下面的语句后,V的值为什么是这样?

守着星空守着你 2018-10-13 15:10:11
var v = v || 10; var v = 0 || 10; var v = 5 || 10; var v = null || 10; 依次执行这四个语句,得到V的值分别是10、10、5、10。新手不太理解为什么,求解,感谢!
查看完整描述

1 回答

?
慕雪6442864

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

||为短路或,A||B的执行规则为:

  • 1.A为true取A;

  • 2.A为false取B

    var v = v || 10;

执行顺序为先执行 var v (变量声明提升);再执行v||10,此时vundefined,转化为布尔值为false,则取10,即将10赋予v

var v = 0 || 10; 
var v = 5 || 10; 
var v = null || 10;

这三个自己分析一下,应该可以了。


补充一点。依次执行的话,同作用域内已声明过的变量是不会被重新声明的,即后三个var a是不会被执行的,只会执行 v = ***


查看完整回答
反对 回复 2018-11-08
  • 1 回答
  • 0 关注
  • 479 浏览
慕课专栏
更多

添加回答

举报

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