获取元素的 offsetHeight 有副作用吗?

Does getting the offsetHeight of an element have a side effect?

在 Bootstrap 崩溃的代码中,在 hide() 方法中,我看到以下行:

this.$element[dimension](this.$element[dimension]())[0].offsetHeight

我不明白最后 .offsetHeight 的意义是什么,除非它有副作用,因为它没有被分配给任何东西。有副作用吗?

一些旧浏览器,如旧版本的 IE,在执行某些操作后有时会出现不重排(重新呈现演示文稿)的问题。

Mearly 查询某些属性,如 offsetHeight 会强制 DOM 重新计算并重绘屏幕上的对象。

所以,副作用是强制重排(重绘)屏幕。古怪,但对旧浏览器来说是一个老把戏。

这里是 a question where this is suggested as a solution 旧版本 Google Chrome 没有它就无法正常工作。

这是来自 bootstrap 团队的有用评论:

if (doAnimate) this.$backdrop[0].offsetWidth // force reflow