2010-12-21 59 views

回答

10

使用typeof

if (typeof message !== 'undefined') 

不要把alert(message)if表達,否則就會執行alert(這是我們希望避免我們之前知道message的類型)和返回值(也是undefined btw;))將與undefined進行比較。

更新澄清了!==

該運營商不僅比較兩個操作數的值也是類型。這意味着沒有type coercion做:

42 == "42" // true 
42 === "42" // false 

在這種情況下,它是不是真的有必要,因爲我們知道,typeof總是返回一個字符串,但它是很好的做法,如果你徹底和堅持使用它,它更不清楚的地方你真的想要類型強制,而不是。

+2

請注意Felix如何使用!==運算符而不是!=。道格拉斯克羅克福德在這裏解釋了這個(和其他很棒的JS事實):http://video.yahoo.com/watch/630959/2974197 – danjah 2010-12-21 23:54:37