这是我正在测试的代码 -
工作正常
document.write( 1 && undefined ); // prints undefined
document.write( 1 && 3 ); // prints 3
document.write( 1 && true ); // prints true
引发错误
document.write( 1 && NULL ); // throws Error
为什么使用NULL会引发错误,尽管它甚至可以用于未定义的
虽然我测试了NULL
的类型及其给予undefined
,但仍然无法正常工作。我知道这一点。 (OOP编程新手)
答案 0 :(得分:3)
NULL
不存在,请尝试此操作
try {
document.write( 1 && NULL );
} catch ( e) {
document.write( 1 && null );
}
答案 1 :(得分:1)
NULL
未定义,因为它不存在。你在考虑null
。
答案 2 :(得分:1)
document.write(1 && null);
输出null
。
NULL
,因为它区分大小写。它必须是null
。
答案 3 :(得分:0)
它是null
(小写),而不是NULL
(大写)
答案 4 :(得分:0)
由于undefined
与不存在的符号不同,因此浏览器会抛出错误。来自Chrome控制台:
> 1 && null
null
> 1 && NULL
ReferenceError: NULL is not defined
> NULL
ReferenceError: NULL is not defined
答案 5 :(得分:0)
阅读这可能会回答你的问题 JavaScript undefined vs. null
答案 6 :(得分:0)
仅使用typeof something
给出该表达式的类型;在这种情况下它是undefined
因此使用该符号自然会产生错误。它与:
typeof unknownvar
// "undefined"
unknownvar
// ReferenceError: unknownvar is not defined
例外是符号undefined
本身:
typeof undefined
// "undefined"
undefined
// undefined
在您的特定情况下,NULL
应为null
。