亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

這行代碼什么意思?

var h= document.documentElement.clientHeight
? ? ?|| document.body.clientHeight;

正在回答

2 回答

邏輯或和邏輯與都是遵循短路原則的,也就是說對于邏輯與,如果第一個值確定為假,那么他不會再去判斷第二值,就知道這個表達式肯定為假了,所以直接輸出第一個的值,而如果第一個值為真,那么整個邏輯表達式的值就由第二個值來決定,所以會輸出第二個的值。而對于邏輯或也類似,如果第一個值是真的話,那么他不會再去判斷第二個的值,因為此時整個表達式肯定為真,就直接輸出第一值了,如果第一個值為假,那么整個邏輯表達式由第二個值來決定,就輸出第二個的值。這就是邏輯短路。而在javascript中為假的有0,false,null和""。

1 回復 有任何疑惑可以回復我~

這是獲取高度得

0 回復 有任何疑惑可以回復我~
#1

慕哥1589388 提問者

中間的 || 好像沒有作用呀
2017-07-15 回復 有任何疑惑可以回復我~
#2

吉夫 回復 慕哥1589388 提問者

那個是“邏輯或”運算符,意思是如果前面的“documentElement.clientHeight”是空的話,就使用后面的“document.body.clientHeight”來給前面的“var h”賦值,具體可以參考這個:http://www.tashan10.com/javascript-de-ling-huo-yun-yong/
2017-07-17 回復 有任何疑惑可以回復我~
#3

慕哥1589388 提問者 回復 吉夫

我用搜狗瀏覽器, 兩個都有值,但是不一樣,每次取得都是寫前面的值。為什么要這樣寫?
2017-07-17 回復 有任何疑惑可以回復我~
#4

吉夫 回復 慕哥1589388 提問者

課程說是為了兼容性的問題,也許別的瀏覽器不支持前面的只支持后面的
2017-07-17 回復 有任何疑惑可以回復我~
查看1條回復

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468969    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

這行代碼什么意思?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號