首頁 >web前端 >js教程 >JavaScript 中未定義和未定義有什麼不同?

JavaScript 中未定義和未定義有什麼不同?

王林
王林轉載
2023-08-24 12:45:161843瀏覽

JavaScript 中未定义和未定义有什么区别?

在 JavaScript 中,變數「未定義」有兩種主要方式。第一種是聲明變數而不給它賦值時。第二種是當您嘗試存取不存在的變數時。

JavaScript 中未定義

  • 當宣告變數時沒有值,它會被自動賦予值「未定義」。如果您忘記為變數賦值,或者故意不賦值(例如,如果您正在等待使用者輸入),則可能會發生這種情況。

  • 如果您嘗試存取不存在的變量,您也會得到「undefined」值。如果您鍵入變數的名稱,或嘗試存取超出範圍的變量,則可能會發生這種情況。

範例 1

下面是帶有解釋的範例。

<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result"></div>
   <script>
      var foo;
      document.getElementById("result").innerHTML = foo;
   </script>
</body>
</html>

在上面的範例中,聲明了變數“foo”,但未給定值。因此,當我們嘗試存取它時,會傳回“undefined”值。

範例2

<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」。但是,由於該屬性不存在,因此傳回“undefined”值。

JavaScript 中未定義

“not 已定義”值類似於“未定義”,因為它表示變數不存在。但是,兩者之間存在細微差別。

「未定義」通常是由拼字錯誤或嘗試存取超出範圍的變數引起的。 「未定義」通常是因為忘記給變數賦值而造成的。

範例

下面是帶有說明的範例。

<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。

undefined和not Define的區別

未定義”和“未定義”之間的主要區別在於,“未定義」是可以分配給變數的值,而「

另一個區別是,「未定義」通常是由於忘記給變數賦值而導致的,而​​「未定義」通常是由拼字錯誤或錯誤引起的嘗試存取超出範圍的變數。

結論

結論是,“未定義”和“未定義” >”是JavaScript 中的兩個不同值。「 未定義」表示變數已宣告但未賦值,「未定義」表示變數不存在。

以上是JavaScript 中未定義和未定義有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除