为什么在逻辑运算符中使用NULL会在JS中引发错误

时间:2013-03-22 07:00:58

标签: javascript null logical-operators

这是我正在测试的代码 -

工作正常

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编程新手)

7 个答案:

答案 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

JavaScript中不存在

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