JavaScript で変数を「未定義」にする方法は主に 2 つあります。 1 つ目は、値を割り当てずに変数を宣言する場合です。 2 つ目は、存在しない変数にアクセスしようとした場合です。
値を指定せずに変数を宣言すると、値「Unknown」が自動的に割り当てられます。これは、変数に値を割り当てるのを忘れた場合、または意図的に値を割り当てなかった場合 (たとえば、ユーザー入力を待っている場合) に発生する可能性があります。
存在しない変数にアクセスしようとすると、「unknown」値が返されます。これは、変数の名前を入力した場合、またはスコープ外の変数にアクセスしようとした場合に発生する可能性があります。
以下は説明付きの例です。
<html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> var foo; document.getElementById("result").innerHTML = foo; </script> </body> </html>
上記の例では、変数 "foo" が宣言されていますが、値は指定されていません。したがって、アクセスしようとすると、「未定義」の値が返されます。
<html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> var myObj = {}; document.getElementById("result").innerHTML = myObj.foo; </script> </body> </html>
上の例では、オブジェクト "myObj" のプロパティ "foo" にアクセスしようとしています。ただし、プロパティが存在しないため、「未定義」の値が返されます。
「not define」値は、変数が存在しないことを示すという点で「unknown」と似ています。ただし、この 2 つには微妙な違いがあります。
「未定義」は通常、タイプミスまたはスコープ外の変数にアクセスしようとしたことが原因で発生します。 「Unknown」は通常、変数に値を代入し忘れたことが原因で発生します。
以下は手順を含む例です。
<html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> var myObj = {}; try { document.getElementById("result").innerHTML = myOb.foo; } catch(err) { document.getElementById("result").innerHTML = err; } </script> </body> </html>
上の例では、オブジェクト「myOb」のプロパティ「foo」にアクセスしようとしています。しかし、オブジェクトが存在しないため、「myOb is not Define」という ReferenceError が返されます。
"未定義" と "未定義" の主な違いは、" "未定義" であることです。 " は変数に代入できる値ですが、"
もう 1 つの違いは、「未定義」は通常、変数に値を代入するのを忘れたことが原因で発生するのに対し、「未定義」は通常発生することです。 by スコープ外の変数にアクセスしようとしたことによるタイプミスまたはエラー。
結論は、「は定義されていません」および「」です。 「は定義されていません ” >」は JavaScript における 2 つの異なる値です。「未定義」 は変数が宣言されているが値が割り当てられていないことを意味し、「未定義」は変数が存在しないことを意味します。
以上がJavaScriptの未定義と未定義の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。