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を使用すると、未定義の場合でも機能するのに、なぜarrorがスローされるのですか?

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

NULL大文字と小文字が区別されるため、JavaScript には存在しません。である必要があります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 に答える