Rumah >hujung hadapan web >tutorial js >Penjelasan terperinci tentang perbezaan antara pembolehubah tempatan dan pembolehubah global dalam kemahiran javascript_javascript
Javascript mempunyai dua jenis pembolehubah: pembolehubah tempatan dan pembolehubah global. Sudah tentu, artikel kami adalah untuk membantu anda benar-benar membezakan antara kedua-dua pembolehubah ini.
Pertama sekali, pembolehubah tempatan hanya boleh dipanggil dalam fungsi di mana pembolehubah ini diisytiharkan. Pembolehubah global ialah pembolehubah yang boleh dipanggil sepanjang kod. Sudah tentu, tidak jelas untuk memahaminya secara literal Biar saya memperkenalkannya secara terperinci di bawah:
Seperti yang kita sedia maklum, pembolehubah perlu diisytiharkan dengan kata kunci var. Tetapi pembolehubah juga boleh digunakan secara tersirat dalam JavaScript, iaitu, ia boleh digunakan secara langsung tanpa pengisytiharan. Selain itu, pastikan anda ambil perhatian bahawa JavaScript sentiasa menggunakan pembolehubah yang diisytiharkan secara tersirat sebagai pembolehubah global.
Contohnya:
Hasil keluaran ialah: yuanjianhang
Ini menunjukkan pembolehubah i ialah pembolehubah global Jika kod di atas ditukar kepada yang berikut:
Pada masa ini, penyemak imbas tidak akan mempunyai sebarang hasil keluaran, kerana i ditakrifkan dalam fungsi myName, jadi ia hanya pembolehubah tempatan myName dan tidak boleh dipanggil secara luaran.
Sekarang lihat kembali kod berikut:
Sekarang, mari buat beberapa perubahan dan alih keluar myName();
Dengan cara yang sama, jika contoh di atas ditukar kepada:
Untuk memudahkan pemahaman semua orang, berikut ialah satu lagi contoh:
Jawapannya ialah guanxi
Pertama, nilai asal i ialah yuanjianhang, tetapi selepas memanggil fungsi myloveName(), nilai i ditukar kepada guanxi, jadi hasil keluaran akhir ialah guanxi.
Das Ergebnis ist Yuanjianhang, da die beiden i im Code unterschiedlich sind, eines ist global und das andere ist lokal. Obwohl die Namen der beiden i gleich sind Das Wesentliche ist unterschiedlich, so wie es zwei Personen mit demselben Namen gibt. Obwohl die Namen gleich sind, handelt es sich nicht um dieselbe Person.
Wenn Sie den Code wie folgt ändern:
Ich glaube, Sie können das Ergebnis selbst berechnen, und das Ergebnis ist Yuanjianhang.
Da globale Variablen innerhalb der Funktion aufgerufen werden können, wie wäre es mit der folgenden Situation:
Welchen Wert hat die Variable zu diesem Zeitpunkt?
Lass es uns analysieren:
Zuerst wird der globalen Variablen i der Wert zugewiesen: yuanjianhang.
Dann wird die Funktion myloveName() aufgerufen und der globalen Variablen i wird ein neuer Wert zugewiesen: guanxi
Das Ergebnis muss also sein: Guanxi.
Was passiert, wenn wir die Warnung wie folgt weiterleiten:
Was ist derzeit das Ergebnis?
Das verifizierte Ergebnis ist: undefiniert
Was ist, wenn der Code so aussieht:
Das Ergebnis von i zu diesem Zeitpunkt ist: yuanjianhang
Warum tritt die obige undefinierte Situation auf? Weil die Ausführungsreihenfolge des Codes von oben nach unten erfolgt und i nicht definiert ist, bevor i ausgegeben wird. Hier ist also ersichtlich, dass bei der Verwendung von Code die Variablendeklaration an den Anfang des Codes gestellt werden muss, um ähnliche Probleme zu vermeiden!
Ähnlich:
In diesem Fall wird auch Folgendes ausgegeben: undefiniert
Okay, ich habe nur so viele Einführungen zu Variablen, ich glaube, dass jeder sie verstehen kann. Unabhängig davon, wie der Code kopiert wird, ändert sich sein Kern nicht.
Das Obige ist der gesamte Inhalt dieses Artikels. Habt ihr ein tieferes Verständnis für den Unterschied zwischen lokalen Variablen und globalen Variablen in JavaScript? Ich wünsche euch allen ein frohes neues Jahr und viel Spaß beim Lernen.