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

这行代码什么意思?

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进阶篇
  • 参与学习       468188    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

这行代码什么意思?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信