[英]Do something if a variable is defined
在JS中,如果定義了變量,我想做一些事情。 我認為這種語法會起作用:
if (foo) {
console.log('foo is defined');
} else {
console.log('foo is not defined');
}
但我得到一個“未捕獲的參考錯誤:未定義foo”:
我錯過了什么嗎? 我認為這是非常基本的js,之前使用過這種語法。
有兩個相關的概念,即聲明和定義。 嘗試引用未聲明的名稱會引發錯誤,而不是嘗試引用未定義的值。
例如:
var foo; //Declare the variable. It's still not defined however
if (foo) {
console.log('foo is defined');
} else {
console.log('foo is not defined');
}
當然,如果我真的想要檢測一些你想要提到的未聲明或未定義的東西,我通常更喜歡更明確並使用if(typeof foo != "undefined")
因為var foo; if (foo)
var foo; if (foo)
不觸發已定義但值為false的值。 最后,如果你想測試某些東西是否未定義並允許它在未聲明的情況下拋出,你可以直接比較未定義的值,例如if(foo !== void(0))
if (typeof foo == "undefined") {
console.log('doesnt exist');
} else {
console.log('it exists');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.