我試着去尋找一種創新的方式/補丁,以儘量減少這一行:Javascript命令檢查集中的值?
if(myParam == '1' || myParam == 'a' || myParam == '*' || myParam == '@' || myParam == undefined || myParam == null || myParam == ' ')
{...
}
一種解決方案是使用的indexOf - 但它不是跨瀏覽器 (我可以寫我自己的FUNC表現得像indexOf - 但我不想)。
所以我嘗試了in
operator
但在運營商僅涉及對象的屬性名稱和指標
所以,我想這(對象屬性):
if(window.lala in {
'*': 0,
'a': 0,
'@': 0,
' ': 0,
undefined: 0,
null: 0
}) alert('1')
,我認爲它工作。
2問題,請:
問題#1
是安全的屬性名稱爲[undefined
]或[' '
]或[null
]它會一直工作嗎?
question#2 有沒有其他解決方案來做到這一點?
(套/開關可得做,我知道...)
window.lala _is_未定義 –
@RoyiNamir - 但在您的測試對象的屬性名稱不'undefined' 。所有的屬性名都是字符串,所以'undefined!==「undefined」,所以它不會匹配你的對象擡頭。 – jfriend00
我不明白。 '如果(未定義在{ '0':0, '*':0, 'A':0, '@':0, '「:0, 未定義:0, 空:0 })alert('1')//'它會提示 –