今天看到一段do{}while()的代码,如下
function getBodyOffsetTop(el){
var top = 0;
do{
top = top + el.offsetTop;
}while(el = el.offsetParent);
return top;
}
其中 el != el.offsetTop ,可依然为真,当时很疑惑,到后面才知道原来都是 = 的原因。
之前自己一直把 = 直接看成 ==
比如 x = 1; y = 2 while(x = y),这个还是成立的,只是把 y 这个数赋值给 x ,x = 2 还是为true
比如 x = 0; y = 1 while(x = y),这个就是不成立的,当把 y 这个数赋值给 x ,x为0, 0为false,