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

var v = v || 10; 


var v = 0 || 10; 


var v = 5 || 10; 


var v = null || 10; 

依次执行这四个语句,得到V的值分别是10、10、5、10。
新手不太理解为什么,求解,感谢!

守着星空守着你
浏览 480回答 1
1回答

慕雪6442864

||为短路或,A||B的执行规则为:1.A为true取A;2.A为false取Bvar v = v || 10;执行顺序为先执行 var v (变量声明提升);再执行v||10,此时v为undefined,转化为布尔值为false,则取10,即将10赋予v。var v = 0 || 10;  var v = 5 || 10;  var v = null || 10;这三个自己分析一下,应该可以了。补充一点。依次执行的话,同作用域内已声明过的变量是不会被重新声明的,即后三个var a是不会被执行的,只会执行 v = ***。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript