0

我在网上找到了这个脚本http://javascript.jstruebig.de/javascript/70。我只是想知道这条线是什么意思:

if(!width) width = document.body.offsetWidth-document.body.clientWidth;

!width 条件是什么意思?如果没有初始化呢?此外,是否有任何较短的脚本提供相同的功能?

谢谢!

4

1 回答 1

0

!width 只是检查变量的虚假值,更明确的检查将是

if(typeof width === "undefined") {
   width = document.body.offsetWidth-document.body.clientWidth;
}
  • offsetWidth 是元素的全宽,包括边框和滚动条客户端
  • clientWidth 是包含填充但不包括边框和滚动条的元素的宽度

简而言之,该逻辑只是获取页面边框和滚动条的宽度。可能有不同的实现,但没有比两个操作数相减更短的逻辑了。

于 2012-05-30T17:40:40.963 回答