javascript - TypeOf undefined 而不是与 undefined 进行比较?

标签 javascript compatibility

在 JavaScript 中,为什么人们会写 typeof myVar == "undefined" 而不是 myVar == undefined

是否出于兼容性原因?

最佳答案

这是主要原因:

if(a == undefined) console.log('test')
>> ReferenceError: a is not defined
if(typeof a == "undefined") console.log('test')
>> test

但是如果你运行这个比较:

if(window.a == undefined) console.log('test')
>> test

因此,如果您将 a 用作独立变量,则不能。使用 window 是可能的,使用什么方法并不重要,但正如我在评论中所述,使用 typeof 更安全,因为并非每个变量都属于 窗口范围。

关于javascript - TypeOf undefined 而不是与 undefined 进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16394564/

相关文章:

javascript - JavaScript 中的函数表达式与声明有什么区别?

javascript - jQuery - 刷新页面后不起作用

android - 无法覆盖 ListFragment 中的 onCreateOptionsMenu

ios - Xcode出于未知原因给出版本兼容性警告

windows - 如何禁用 Visual C++ 运行时中的缓冲区溢出检查?

javascript - React Router 的 v6 history.push ('/' ) 给出错误 "undefined (reading ' pathname')"- url 更改,但页面保持不变

javascript - 需要每个元素的宽度等于元素的值

javascript - 在输入旁边添加按钮,水平表单样式 - Bootstrap

javascript - 有没有办法在 bigquery 的 udf 函数中打印或记录变量值?

php - Ratchet PHP zeromq 回退到旧浏览器