可能重复:
JavaScript OR (||) variable assignment explanation用||表示变量赋值在价值
有人可以帮助解释这一行做什么,以及如何?
var scrollTop = html.scrollTop || body && body.scrollTop || 0;
可能重复:
JavaScript OR (||) variable assignment explanation用||表示变量赋值在价值
有人可以帮助解释这一行做什么,以及如何?
var scrollTop = html.scrollTop || body && body.scrollTop || 0;
你可以把逻辑有点像这样的......
if (html.scrollTop > 0) {
scrollTop = html.scrollTop;
return;
}
if (body != undefined) {
if (body.scrollTop > 0) {
scrollTop = body.scrollTop;
return;
}
}
scrollTop = 0;
return;
它设置使用优先级列表中scrollTop
变量。
html.scrollTop
如果它存在并且大于零。body
存在,如果它大于零,则使用body.scrollTop
。0
是那么严格(html.scrollTop> 0)或者我们可以写(html.scrollTop)?谢谢 –
在这种情况下,你可以写'if(html.scrollTop)'。我在解释中使用了更长的符号来更加明确。在JavaScript中,可以使用if语句来检查是否存在任何真值条件(不是零,不是空字符串,不为空等)。但是如果您认为'scrollTop'可能是负数,则需要小心。 – njr101
难道你不明白有关该行是什么? – Oded
按照该顺序使用第一个非空值:html.scrollTop,body.scrollTop,0. –
什么是平均值|| && ||在那句话中?如何解释在“if else”方式 –