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

两个值或应该得到bool值吧?求解

var w=document.documentElement.clientWidth||document.body.clientWidth;

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


正在回答

5 回答

||这个是或的意思。。。。就是前后的代码随便二选一来用

0 回复 有任何疑惑可以回复我~

我也在这里被坑到了。

之前学过C语言,在C语言的语法里逻辑操作符是返回布尔值的。56f16efe0001c64b05000192.jpg

而在JavaScript里却返回具体数值。真是66666!

56f16efe0001f95f04850422.jpg

在这里我就懵逼了有木有,这样搞真的让我逻辑碎了一地啊!!!(๑ŐдŐ)b

0 回复 有任何疑惑可以回复我~

http://www.pm-road.com/index.php/2014/09/13/102/


在js中写出如下的答案 :


var a = 2;


var b = 3;


var andflag = a && b ;


var orflag = a || b;


问andflag 和orflag 分别是什么?


起初我认为: andflag 和orflag 的值都为 true; 毕竟 && 和 || 都是求Boolean ,后来发现,我错了。


答案应该是  andflag  = 3,orflag = 2;


原因是这样的:


在运算过程中,首先js  会将 && 和||  两边的值转成Boolean 类型,然后再算值 ,&&运算如果返回true,则取后面的值,如果|| 返回true,则取前面的值 , 而其中数值转换成boolean 的规则 是:


对象、非零整数、非空字符串返回true,


其它为false   ;


a && b  的运算就是  :因为  a  和  b全是非零整数,所以  a  和  b  也就是true ,而   true && true  返回   true   ,则取后面的b   ,同理  a 和b 全是非零整数,a  和b  全是true  ,则true || true  返回   true ,取|| 前面的值 也就是2;


 


同样:该逻辑运算符支持短路原则:


如 var  a = “”  ||  null  || 3  ||  4   —->    var a = fasel || false || true ||  true  结果为true  则返回第一个true,即是3


var b = 4 && 5 && null && 0   ——>   var b = true && true && false && false   结果是false   则返回第一个false   即是null .


0 回复 有任何疑惑可以回复我~

得到的是实际数字

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

楚燕狂子 提问者

能解释下这两句代码的含义吗
2016-02-22 回复 有任何疑惑可以回复我~

二、针对NS、FF:


scrollHeight 是网页内容高度,不过最小值是 clientHeight。也就是说网页内容实际高度小于 clientHeight 时,


scrollHeight 返回 clientHeight 。


三、浏览器兼容性


var w=document.documentElement.scrollWidth

   || document.body.scrollWidth;

var h=document.documentElement.scrollHeight

   || document.body.scrollHeight;

注意:区分大小写


scrollHeight和scrollWidth还可获取Dom元素中内容实际占用的高度和宽度。


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

楚燕狂子 提问者

能解释下 var w=document.documentElement.scrollWidth || document.body.scrollWidth; var h=document.documentElement.scrollHeight || document.body.scrollHeight; 这两句的代码的含义吗
2016-02-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

两个值或应该得到bool值吧?求解

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