3

这是我正在测试的代码——

工作正常

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 会引发错误,尽管它甚至适用于未定义

尽管我测试了 typeofNULL及其提供,undefined但仍然无法正常工作。请让我知道这一点。(OOP 编程新手)

4

7 回答 7

4

NULL不存在,试试这个

try {
    document.write( 1 &&  NULL  );
} catch ( e) {
    document.write( 1 &&  null  );
}
于 2013-03-22T07:05:53.237 回答
1

NULL未定义,因为它不存在。你在想null

于 2013-03-22T07:03:38.667 回答
1

document.write(1 && null);输出null

NULLJavaScript 中不存在,因为它区分大小写。一定是null

于 2013-03-22T07:03:57.677 回答
0

它是null(小写),而不是NULL(大写)

于 2013-03-22T07:04:27.747 回答
0

因为undefined与不存在的符号不同,所以浏览器会抛出错误。从 Chrome 控制台:

> 1 && null
null
> 1 && NULL
ReferenceError: NULL is not defined
> NULL
ReferenceError: NULL is not defined
于 2013-03-22T07:04:33.543 回答
0

阅读此内容可能会回答您的问题 JavaScript undefined vs. null

于 2013-03-22T07:07:07.750 回答
0

使用typeof something仅给出该表达式的类型;在undefined这种情况下,因此使用该符号自然会产生错误。它与以下内容相同:

typeof unknownvar
// "undefined"
unknownvar
// ReferenceError: unknownvar is not defined

例外是符号undefined本身:

typeof undefined
// "undefined"
undefined
// undefined

在您的特定情况下,NULL应该是null.

于 2013-03-22T07:08:35.050 回答