0

可能重复:
JavaScript OR (||) 变量赋值说明

有人可以帮助解释这条线的作用以及如何做吗?

var scrollTop = html.scrollTop || body && body.scrollTop || 0;
4

1 回答 1

4

你可以把逻辑想成这样......

if (html.scrollTop > 0) {
    scrollTop = html.scrollTop;
    return;
}

if (body != undefined) {
    if (body.scrollTop > 0) {
         scrollTop = body.scrollTop;
         return;
    }

}

scrollTop = 0;
return;

scrollTop使用优先级列表设置变量。

  1. html.scrollTop首先,如果它存在并且大于零,请尝试使用。
  2. 如果不是,则确保body存在,body.scrollTop如果它大于零,则使用。
  3. 如果一切都失败了,只需将其设置为0
于 2012-11-05T15:37:11.477 回答