帮忙解释一下几个javascript 的语句

来源:百度知道 编辑:UC知道 时间:2024/06/06 12:11:19
function setOffsets() {
dataDiv.style.border = "black 1px solid";
var top = 0;
while(curElement) {
top += curElement["offsetTop"];
curElement = curElement.offsetParent;
}
}

为什么while的括号里面不用写逻辑表达式。。。就只写了一个对象。。。
curElement["offsetTop"];这个语句的语法无跟C语言或者java都相差十万八千里。。。解释一下。。。。。。。。。
curElement.offsetParent;还有这个。。。。。。。

要看什么书才有说这些语法呢

楼上是对的,javascript非常灵活,它规定对象不为空则返回true,否则返回false.所以本身就是个逻辑表达式了.其实javascript并不是简单的java,它也是一种独立的语言.当然会和C,java相差很大.可以看下《javascript权威指南斯(第五版)》.

offsetParent属性:如果某个元素的父级或此元素层次结构中的其他元素使用相对或绝对定位,则 OffsetParent 将成为当前元素嵌套到的第一个相对或绝对定位元素。如果当前元素以上的任何元素都不是绝对或相对定位的,则 OffsetParent 将是文档的 BODY 标记。

curElement对象不为空,就往下执行!
curElement["offsetTop"]这个不和数组有点像吗?
javascript里的对象存放的属性就想是数组存放元素一样(类似,这个有点深了)!

curElement.offsetParent;是对象的属性 啊这个和java像啊!

这就是js的灵活性所在,只要对象不为空,就可以循环!