在 JavaScript 中,變數「未定義」有兩種主要方式。第一種是聲明變數而不給它賦值時。第二種是當您嘗試存取不存在的變數時。
當宣告變數時沒有值,它會被自動賦予值「未定義」。如果您忘記為變數賦值,或者故意不賦值(例如,如果您正在等待使用者輸入),則可能會發生這種情況。
如果您嘗試存取不存在的變量,您也會得到「undefined」值。如果您鍵入變數的名稱,或嘗試存取超出範圍的變量,則可能會發生這種情況。
下面是帶有解釋的範例。
<html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> var foo; document.getElementById("result").innerHTML = foo; </script> </body> </html>
在上面的範例中,聲明了變數“foo”,但未給定值。因此,當我們嘗試存取它時,會傳回“undefined”值。
<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”值。
“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。
“未定義”和“未定義”之間的主要區別在於,“未定義」是可以分配給變數的值,而「
另一個區別是,「未定義」通常是由於忘記給變數賦值而導致的,而「未定義」通常是由拼字錯誤或錯誤引起的嘗試存取超出範圍的變數。
結論是,“未定義”和“未定義” >”是JavaScript 中的兩個不同值。「 未定義」表示變數已宣告但未賦值,「未定義」表示變數不存在。
以上是JavaScript 中未定義和未定義有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!