使用||进行变量赋值价值

时间:2012-11-05 15:31:20

标签: javascript

  

可能重复:
  JavaScript OR (||) variable assignment explanation

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

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

1 个答案:

答案 0 :(得分: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存在且大于零,请尝试使用body
  2. 如果没有,请确保body.scrollTop存在,如果大于零,请使用0
  3. 如果其他所有方法都失败了,只需将其设置为{{1}}
  4. 即可