2012-05-30 214 views
0

我在網上發現了這個腳本http://javascript.jstruebig.de/javascript/70。我只是想知道這條線的含義:js滾動條寬度

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

!寬度條件是什麼意思?如果它沒有被初始化?另外,是否有更短的腳本提供相同的功能?

謝謝!

+0

如果width變量爲false。 – j08691

+0

但如果變量總是被賦予int值,變量如何可以爲假? –

+0

沒有滾動條時滾動條的寬度是多少? – j08691

回答

0

!寬度只檢查一個變量的falsey值時,更明確的檢查將是

if(typeof width === "undefined") { 
    width = document.body.offsetWidth-document.body.clientWidth; 
} 
  • offsetWidth是元素的整個寬度,包括邊框和滾動條 客戶
  • clientWidth是包含填充但不包括邊框和滾動條的元素的寬度

總之,該邏輯剛剛獲得s是頁面邊框和滾動條的寬度。可能有不同的實現方式,但並不比縮減兩個操作數的邏輯更短。