檢查myvar
javascript variable === false
的最佳方法是什麼?(也可能未定義)。檢查變量是否爲假,但不是真或不確定
if (myvar === false)
將被罰款,但myvar
它可能是不確定的。只有false
的值是可以接受的,而不是未定義的。
任何短於if (typeof myvar !== "undefined" && myvar === false)
?
檢查myvar
javascript variable === false
的最佳方法是什麼?(也可能未定義)。檢查變量是否爲假,但不是真或不確定
if (myvar === false)
將被罰款,但myvar
它可能是不確定的。只有false
的值是可以接受的,而不是未定義的。
任何短於if (typeof myvar !== "undefined" && myvar === false)
?
如果變量是聲明則:
if (myvar === false) {
將正常工作。 ===
將不會考慮false
未定義。
如果是undefined
和未聲明,那麼您應該在嘗試使用它之前檢查它的類型(否則您將得到一個引用錯誤)。
if(typeof myvar === 'boolean' && myvar === false) {
也就是說,如果您打算嘗試使用該變量,則應確保始終聲明該變量。
var myvar;
// ...
// some code that may or may not assign a value to myvar
// ...
if (myvar === false) {
if (myvar !== undefined && myvar === false)
怎麼樣?
'undefined'可以重新定義爲其他值,所以你應該總是使用'typeof'或者定義一個本地'undefined'。 – 2014-09-25 19:39:25
@Derek朕會功夫不再適用於現代瀏覽器。 – 2014-09-25 19:41:15
@IngoBürk - 互聯網上的大多數用戶沒有現代瀏覽器,特別是商業環境中的電腦。 – 2014-09-25 19:42:34
if(typeof myvar === 'boolean' && !myvar)
*僅*'FALSE'或'undefined',或者你只是尋找任何 「falsy」 值,這將只是'如果(MYVAR)...'? – adeneo 2014-09-25 19:37:59
你應該工作得很好,或者如果你真的想明確,那麼'if((myvar === false)&&(myvar!== undefined)){' – PlantTheIdea 2014-09-25 19:38:53