zepto--toggle函數


學習zepto源碼時,發現一個很佩服的寫法。

關鍵點在三元選擇符。

首先,假定settings是有傳入參數的,此時settings會進行隱式強制類型轉換為布爾值,如果為真,元素顯示,如果為假,元素隱藏。無可厚非,最具有技術性的(我自己認為的),是在未傳入settings參數的時候。

解析一下這段,如果settings!==undefined 取傳入的settings參數,即進行到上面提到的settings有參數的步驟。

如果沒傳參數,即settings === undefined ,此時,會直接取當前元素的display的值,判斷是否為‘none’,如果為none,條件結果為真,如果不是‘none’,條件結果為假。然后進行后面的顯示隱藏。

相當於一條js代碼進行了

1、判斷是否傳遞參數,

2、傳遞參數, 取值settings,判斷settings,強制轉換布爾值,

3、未傳遞參數,取當前元素的display的值,是否為none,也轉換為布爾值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM