Terdapat dua cara utama pembolehubah boleh "tidak ditentukan" dalam JavaScript. Yang pertama ialah apabila anda mengisytiharkan pembolehubah tanpa memberikan nilai kepadanya. Yang kedua ialah apabila anda cuba mengakses pembolehubah yang tidak wujud.
Apabila pembolehubah diisytiharkan tanpa nilai, ia secara automatik diberikan nilai "Undefined". Ini boleh berlaku jika anda terlupa untuk memberikan nilai kepada pembolehubah, atau dengan sengaja tidak memberikan nilai (contohnya, jika anda sedang menunggu input pengguna).
Anda juga akan mendapat nilai "undefined" jika anda cuba mengakses pembolehubah yang tidak wujud. Ini boleh berlaku jika anda menaip nama pembolehubah, atau jika anda cuba mengakses pembolehubah yang di luar skop.
Di bawah adalah contoh dengan penjelasan.
<html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> var foo; document.getElementById("result").innerHTML = foo; </script> </body> </html>
Dalam contoh di atas, pembolehubah "foo" diisytiharkan tetapi tiada nilai diberikan. Jadi apabila kita cuba mengaksesnya, nilai "tidak ditentukan" dikembalikan.
<html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> var myObj = {}; document.getElementById("result").innerHTML = myObj.foo; </script> </body> </html>
Dalam contoh di atas, kami cuba mengakses harta "foo" objek "myObj". Walau bagaimanapun, kerana harta itu tidak wujud, nilai "tidak ditentukan" dikembalikan.
dalam JavaScript Nilai "not defined" adalah serupa dengan "undefined" kerana ini bermakna pembolehubah tidak wujud. Walau bagaimanapun, terdapat perbezaan yang ketara antara keduanya.
"Tidak ditentukan" biasanya disebabkan oleh kesilapan menaip atau percubaan untuk mengakses pembolehubah di luar skop. "Undefined" biasanya disebabkan oleh terlupa untuk memberikan nilai kepada pembolehubah.
Di bawah adalah contoh dengan arahan.
<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>
Dalam contoh di atas, kami cuba mengakses sifat "foo" objek "myOb". Tetapi oleh kerana objek itu tidak wujud, ReferenceError bagi "myOb is not Define" dikembalikan. Perbezaan antara
Perbezaan utama antara "undefined" dan "undefined" ialah "undefined" ialah nilai yang boleh diberikan kepada pembolehubah, manakala "
yang lainialah "undefined" biasanya disebabkan oleh terlupa untuk memberikan nilai kepada pembolehubah, manakala "undefined" biasanya disebabkan oleh kesilapan taip atau ralat dalam mencuba untuk mengakses pembolehubah di luar skop
Kesimpulannya, ". Tidak ditakrifkan." Defined" dan "undefined” >" ialah dua nilai berbeza dalam JavaScript "undefined" bermaksud pembolehubah telah diisytiharkan tetapi tidak diberikan nilai, dan "undefined" bermaksud pembolehubah itu. tidak wujud
Atas ialah kandungan terperinci Apakah perbezaan antara undefined dan undefined dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!