回答
if (typeof variable !== 'undefined') {
// ..
}
else
{
// ..
}
在這裏找到更多的解釋:
您可以使用類似這樣
if (typeof varname != 'undefined')
{
//do this
}
else
{
//do this
}
您只需檢查的類型。
if(typeof yourVar !== "undefined"){
alert("defined");
}
else{
alert("undefined");
}
使用in
運算符。
'myVar' in window; // for global variables only
typeof
檢查將用於如果變量返回true,
- 它尚未定義
- 它已被定義並具有值
undefined
,或 - 它已被定義但尚未初始化。
下列實施例將說明在第二和第三點。
// defined, but not initialized
var myVar;
typeof myVar; // undefined
// defined, and initialized to undefined
var myVar = undefined;
typeof myVar; // undefined
您可以使用*窗口*只有在全局變量的特殊情況下,他們也取得了全局對象的屬性。局部變量沒有這樣的可變變量對象。假設有一個窗口對象可能對瀏覽器來說是合理的,但一般來說並不是必須的。 – RobG
@RobG - 它不必是'window'或全局對象。任何對象都可以在這裏使用。你已經提出了關於本地定義的變量在這裏不可訪問的好處。我有興趣瞭解是否有一種方法可以根據我的第一個標準來確定局部變量的未定義。 – Anurag
如果你正在談論變量和範圍,那麼你只能區分全局變量(因爲它們是全局對象的屬性)和其餘部分。在嵌套函數中,由於無法訪問相關變量對象,因此無法判斷標識符是本地函數變量還是外部函數變量。對象屬性解析是另一回事。 – RobG
- 1. 測試是否定義了一個動態變量
- 2. JavaScript:測試未定義值的變量;測試物體是否是陣列
- 3. 在Jinja2中,如何測試變量是否未定義?
- 4. 可能測試一個變量是否僅包含特定值?
- 5. 測試代碼中是否定義了未聲明的變量是否合理?
- 6. 測試一個變量是否是另一個變量的良好預測變量
- 7. 在Ruby a la JavaScript中測試未定義的變量?
- 8. 如何測試變量是否在一定範圍內?
- 9. 測試gdb便利變量是否已定義
- 10. 測試兩個變量是否等於一個變量在PHP的if語句
- 11. 測試某個值是否在一組和分配變量
- 12. 測試變量是否存在
- 13. 函數測試變量是否存在
- 14. 是否可以測試一個C定義是否在gnu Makefile中聲明?
- 15. 是否可以在Swift if語句中定義一個變量?
- 16. 是否可以在CSS中定義一個變量?
- 17. 是否可以在freemarker中取消定義一個變量?
- 18. 給定兩個變量,測試其他變量是否在它們之間
- 19. 如何測試一個變量是否是原始的PHP
- 20. 如何測試一個變量是否是Moment.js對象?
- 21. 如何測試變量是否是C#中的變量類型?
- 22. 如何測試Javascript中的變量是否已初始化?
- 23. 如何查看是否在Javascript中定義了變量名稱
- 24. 將變量設置爲未定義在JavaScript中是否安全?
- 25. 檢查變量是否(定義)在JavaScript中不起作用
- 26. XPath 2.0:如何測試我們在變量中是否是一個元素?
- 27. 定義一個TypeScript調試變量
- 28. 在JavaScript中測試未定義的變量/可能的JavaScript錯誤?
- 29. 的javascript:定義一個函數變量
- 30. 我試圖定義一個變量的hash_map不是在VS2008
使用!==嚴格的比較和更好的性能。 –
@ AmericanYak-在*的typeof *測試算法用於解決[''==(http://ecma-international.org/ecma-262/5.1/#sec-11.9.3)和['=== '](http://ecma-international.org/ecma-262/5.1/#sec-11.9.6)是相同的,因爲兩個值都具有相同的類型(字符串),所以更好的性能來自哪裏? – RobG
這失敗的時候,因爲'的typeof null'是'Object' – nikjohn