函數(shù)判斷語句問題
函數(shù)里的判斷語句為什么不寫成 ?if(className.indexOf('imooc')!=-1) 而是寫成(-1!= = className.indexOf('imooc'))?有什么區(qū)別或者好處嗎
函數(shù)里的判斷語句為什么不寫成 ?if(className.indexOf('imooc')!=-1) 而是寫成(-1!= = className.indexOf('imooc'))?有什么區(qū)別或者好處嗎
2016-09-22
舉報
2016-09-23
!= 在表達式兩邊的數(shù)據(jù)類型不一致時,轉(zhuǎn)換為相同數(shù)據(jù)類型,然后對值進行比較;
!== 不會進行類型轉(zhuǎn)換,在比較時除了對值進行比較以外,還比較兩邊的數(shù)據(jù)類型;
至于為什么不反著來寫,我猜是因為了有更好的可閱讀性,還有就是習慣問題
2016-09-23
indexOf()返回的值是整形值,-1也是整形,所以用!=判斷不影響結(jié)果。這兩個用法也不分哪個更好。
==僅判斷值是否相等,!=是其非運算。
===是判斷值和類型是否都相等,!==是其非運算。