當建立一個應該傳遞一個布爾值,一個jQuery插件,什麼是一個用戶友好的方式輸入轉換爲布爾最防呆方式?將布爾值傳遞給jQuery插件的最簡單方法是什麼?
更準確地說:我怕的情況下,人們可能通過的'false'
(而不是一個普通的false
)的字符串並因此!!option
或Boolean(option)
一個簡單的轉換將返回「錯誤」值(!!'false'
是true
)。
目前我檢查我的var option
這樣的:
if (typeof(option) != 'boolean'){
if (option === 'false'){
option = false; //fake false
} else {
option = !!option; //everything else is converted as truthy/falsy in a standard manner
}
}
,但我不知道是否有一個更優雅和簡潔的方式這樣做,或者這僅僅是JavaScript的處理這個問題的方法?
「人們在設計完全萬無一失的設計時常犯的一個錯誤是低估了傻瓜的獨創性。」 - 道格拉斯·亞當斯 – j08691
@ j08691好處是我是一個傻瓜自己,所以準備了很多聰明才智:P除此之外,用「用戶友好」取代「傻瓜式」 – m90
不要試圖「修復」這樣的事情。設計一個API來編纂無能的程序員通常是一個可怕的想法。 – Pointy