Dalam hujung cepat ini, anda akan belajar cara menggunakan pembolehubah dan perbezaan antara pelbagai deklarasi.
Takeaways Key
- Pembolehubah dalam JavaScript diisytiharkan menggunakan kata kunci 'var', 'biarkan', atau 'const', masing -masing dengan skop dan penggunaannya sendiri. 'Var' adalah fungsi-scoped, 'Let' adalah blok-scoped, dan 'const' adalah blok-scoped tetapi tidak boleh ditugaskan semula selepas permulaan.
- Pengisytiharan, permulaan, dan tugasan adalah tiga langkah yang berbeza dalam penggunaan berubah -ubah. Deklarasi memperkenalkan pemboleh ubah baru, permulaan memberikan nilai untuk kali pertama, dan tugasan memberikan nilai khusus kepada pembolehubah.
- Hoisting adalah mekanisme JavaScript di mana pengisytiharan pembolehubah dan fungsi dipindahkan ke bahagian atas skop mereka semasa fasa kompilasi. Walau bagaimanapun, hanya pengisytiharan yang dinaikkan, bukan permulaan. 'Var' mengembalikan 'tidak ditentukan' jika diakses sebelum pengisytiharan akibat angkat, sementara 'let' dan 'const' membuang kesilapan.
Sebelum kita mula mempelajari pelbagai perisytiharan, mari lihat kitaran hayat pembolehubah.
- Inisialisasi: Apabila anda mengisytiharkan pemboleh ubah, ia secara automatik dimulakan, yang bermaksud memori diperuntukkan untuk pembolehubah oleh enjin JavaScript.
- Tugasan: Ini adalah apabila nilai tertentu diberikan kepada pembolehubah.
- Jenis pengisytiharan
NOTA: Walaupun Varhas tersedia di JavaScript sejak Releast awalnya, Letand Const hanya tersedia dalam ES6 (ES2015) dan UP. Lihat halaman ini untuk keserasian penyemak imbas.
var
sintaks:
Pengisytiharan ini mungkin yang paling popular, kerana tidak ada alternatif sehingga ECMAScript 6. Pembolehubah yang diisytiharkan dengan VAR boleh didapati dalam skop fungsi yang dilampirkan. Sekiranya tidak ada fungsi melampirkan, ia boleh didapati di seluruh dunia.
<span>var x; // Declaration and initialization </span>x <span>= "Hello World"; // Assignment </span> <span>// Or all in one </span><span>var y = "Hello World"; </span>
Contoh:
Ini akan menyebabkan rujukan referror: Hello tidak ditakrifkan, kerana pembolehubah hello hanya tersedia dalam fungsi Sayhello. Tetapi yang berikut akan berfungsi, kerana pembolehubah akan diisytiharkan secara global - dalam konsol skop yang sama.log (hello) terletak:
<span>function sayHello(){ </span> <span>var hello = "Hello World"; </span> <span>return hello; </span><span>} </span><span>console.log(hello); </span>
biarkan
<span>var hello = "Hello World"; </span><span>function sayHello(){ </span> <span>return hello; </span><span>} </span><span>console.log(hello); </span>
sintaks:
<span>var x; // Declaration and initialization </span>x <span>= "Hello World"; // Assignment </span> <span>// Or all in one </span><span>var y = "Hello World"; </span>
biarkan keturunan VAR dalam JavaScript moden. Skopnya tidak hanya terhad kepada fungsi yang melampirkan, tetapi juga kepada pernyataan blok yang melampirkannya. Kenyataan blok adalah segala -galanya di dalam {dan}, (mis. Keadaan atau gelung). Manfaat Let adalah mengurangkan kemungkinan kesilapan, kerana pembolehubah hanya tersedia dalam skop yang lebih kecil.
Contoh:
<span>function sayHello(){ </span> <span>var hello = "Hello World"; </span> <span>return hello; </span><span>} </span><span>console.log(hello); </span>
Ini akan menyebabkan rujukan referror: Hello tidak ditakrifkan sebagai Hello hanya tersedia di dalam blok yang dilampirkan - dalam kes ini keadaan jika. Tetapi yang berikut akan berfungsi:
<span>var hello = "Hello World"; </span><span>function sayHello(){ </span> <span>return hello; </span><span>} </span><span>console.log(hello); </span>
const
sintaks:
<span>let x; // Declaration and initialization </span>x <span>= "Hello World"; // Assignment </span> <span>// Or all in one </span><span>let y = "Hello World"; </span>
Secara teknikal, pemalar bukan pembolehubah. Keistimewaan pemalar adalah bahawa anda perlu memberikan nilai apabila mengisytiharkannya dan tidak ada cara untuk menugaskan semula. Const adalah terhad kepada skop blok yang melekat, seperti LET.
Pemalar harus digunakan apabila nilai tidak boleh berubah semasa aplikasi berjalan, seperti yang anda akan diberitahu dengan kesilapan ketika cuba menimpa mereka.
Penciptaan global yang tidak sengaja
Anda boleh menulis semua pengisytiharan yang dinamakan di atas dalam konteks global (iaitu di luar mana -mana fungsi), tetapi walaupun dalam fungsi, jika anda lupa menulis var, biarkan atau const sebelum tugasan, pembolehubah akan secara automatik menjadi global.
Contoh:
<span>var name = "Peter"; </span><span>if(name === "Peter"){ </span> <span>let hello = "Hello Peter"; </span><span>} else { </span> <span>let hello = "Hi"; </span><span>} </span><span>console.log(hello); </span>
di atas akan mengeluarkan Hello World ke konsol, kerana tidak ada perisytiharan sebelum tugasan hello = dan oleh itu pembolehubah tersedia di seluruh dunia.
nota: Untuk mengelakkan secara tidak sengaja mengisytiharkan pembolehubah global, anda boleh menggunakan mod ketat.
angkat dan zon mati temporal
Perbezaan lain antara VAR dan LET/Const berkaitan dengan pembolehubah angkat. Perisytiharan pembolehubah akan sentiasa diangkat secara dalaman (dipindahkan) ke bahagian atas skop semasa. Ini bermakna yang berikut:
<span>var name = "Peter"; </span><span>if(name === "Peter"){ </span> <span>let hello = "Hello Peter"; </span> <span>console.log(hello); </span><span>} else { </span> <span>let hello = "Hi"; </span> <span>console.log(hello); </span><span>} </span>
bersamaan dengan:
<span>const x = "Hello World"; </span>
Petunjuk tingkah laku ini adalah bahawa kedua -dua contoh akan log tidak ditentukan ke konsol. Sekiranya var hello; tidak akan selalu berada di atas ia akan membuang referensi.
Tingkah laku ini dipanggil Hoisting terpakai kepada var dan juga untuk membiarkan/const. Seperti yang disebutkan di atas, mengakses pembolehubah VAR sebelum perisytiharannya akan kembali tidak ditentukan kerana ini adalah nilai JavaScript yang diberikan apabila memulakannya.
tetapi mengakses pembolehubah let/const sebelum pengisytiharannya akan membuang kesilapan. Ini disebabkan oleh hakikat bahawa mereka tidak dapat diakses sebelum pengisytiharan mereka dalam kod. Tempoh antara memasuki skop pembolehubah dan mencapai perisytiharan mereka dipanggil zon mati temporal - iaitu tempoh di mana pembolehubah tidak dapat diakses.
anda boleh membaca lebih lanjut mengenai angkat dalam artikel yang demystifying JavaScript Variable Scope and Hoisting.
Kesimpulan
Untuk mengurangkan kerentanan terhadap kesilapan, anda harus menggunakan const dan biarkan apabila mungkin. Jika anda benar -benar perlu menggunakan VAR maka pastikan anda memindahkan pengisytiharan ke bahagian atas skop, kerana ini mengelakkan tingkah laku yang tidak diingini yang berkaitan dengan angkat.
Soalan Lazim (Soalan Lazim) Mengenai Pengisytiharan Pembolehubah JavaScript
Apakah perbezaan antara pengisytiharan pembolehubah dan inisialisasi dalam JavaScript? Perisytiharan adalah proses memperkenalkan pemboleh ubah baru kepada program ini. Ia dilakukan dengan menggunakan kata kunci VAR, LET, atau Const. Sebagai contoh, biarkan x; Di sini, X diisytiharkan tetapi tidak ditakrifkan. Ia seperti memberitahu program ini, "Hei, saya akan menggunakan pembolehubah bernama X." Inisialisasi, sebaliknya, adalah proses memberikan nilai kepada pemboleh ubah yang diisytiharkan untuk kali pertama. Sebagai contoh, x = 5; Di sini, X dimulakan dengan nilai 5. Ia seperti memberitahu program, "Pembolehubah X yang saya ceritakan sebelum ini? Nilai itu adalah 5. "
Bolehkah saya mengisytiharkan pembolehubah tanpa memulakannya dalam JavaScript? Apabila anda mengisytiharkan pembolehubah tanpa memberikan nilai kepadanya, JavaScript secara automatik memberikan nilai yang tidak ditentukan. Sebagai contoh, jika anda mengisytiharkan pembolehubah seperti ini: biarkan x; Dan kemudian cuba log X ke konsol, anda akan mendapat undefined kerana X telah diisytiharkan tetapi tidak diinisialisasi. JavaScript, jika anda menggunakan pembolehubah tanpa mengisytiharkannya terlebih dahulu, anda akan mendapat referensi. Ini kerana JavaScript perlu tahu tentang pembolehubah sebelum ia boleh digunakan. Jika anda cuba menggunakan pemboleh ubah yang belum diisytiharkan, JavaScript tidak tahu apa yang anda maksudkan dan melemparkan ralat. Contohnya, jika anda cuba log X ke konsol tanpa mengisytiharkan X terlebih dahulu, anda akan mendapat referenceRor: x tidak ditakrifkan. ? Dalam JavaScript, var, let, dan const semuanya digunakan untuk mengisytiharkan pembolehubah, tetapi mereka mempunyai tingkah laku yang berbeza. var adalah fungsi-scoped, yang bermaksud pembolehubah yang diisytiharkan dengan VAR boleh didapati dalam fungsi yang diisytiharkan. Biarkan dan const adalah blok-scoped, yang bermaksud mereka hanya boleh didapati di dalam blok yang diisytiharkan. Selain itu, Const digunakan untuk digunakan untuk digunakan untuk digunakan untuk digunakan untuk mengisytiharkan pemalar, atau pembolehubah yang tidak dapat ditugaskan semula setelah dimulakan. Pada mulanya mengisytiharkannya. Jika anda mengisytiharkan pembolehubah dengan VAR, anda boleh mengulanginya. Walau bagaimanapun, jika anda mengisytiharkan pembolehubah dengan LeT atau Const, anda tidak boleh mengulanginya dalam skop yang sama. Percubaan untuk berbuat demikian akan menghasilkan syntaxError.
Apa yang Hoisting dalam JavaScript?
Hoisting adalah mekanisme JavaScript di mana pembolehubah dan pengisytiharan fungsi dipindahkan ke bahagian atas skop yang mengandungi mereka semasa fasa penyusunan. Ini bermakna anda boleh menggunakan pembolehubah dan fungsi sebelum diisytiharkan. Walau bagaimanapun, hanya pengisytiharan yang dinaikkan, bukan permulaan. Sekiranya pemboleh ubah diisytiharkan dan dimulakan selepas menggunakannya, pembolehubah tidak akan ditentukan. boleh diakses dari dalam kod anda. Pembolehubah yang diisytiharkan dengan VaR mempunyai skop fungsi, yang bermaksud mereka boleh diakses di mana -mana sahaja dalam fungsi yang diisytiharkan dalam. Pembolehubah yang diisytiharkan dengan LeT dan Const mempunyai skop blok, yang bermaksud mereka hanya boleh diakses dalam blok yang mereka diisytiharkan dalam.
Apakah perbezaan antara NULL dan Undefined dalam JavaScript? Walau bagaimanapun, mereka digunakan dengan cara yang sedikit berbeza. Undefined adalah nilai yang diberikan kepada pembolehubah yang telah diisytiharkan tetapi tidak diasaskan. Null, sebaliknya, adalah nilai yang tidak mewakili nilai atau tiada objek. Ia perlu diberikan kepada pembolehubah secara eksplisit. Mereka mesti bermula dengan tanda surat, garis bawah, atau dolar. Watak khas seperti!, @, #, %, Dan lain -lain, tidak dibenarkan dalam nama yang berubah -ubah. diisytiharkan di luar sebarang fungsi atau blok. Kerana ia tidak terikat pada fungsi atau blok, pembolehubah global boleh diakses dari mana saja dalam kod anda. Walau bagaimanapun, pembolehubah global boleh membawa kepada isu -isu dengan konflik penamaan dan pada umumnya paling baik dielakkan apabila mungkin.
Atas ialah kandungan terperinci Petua Pantas: Cara Mengisytiharkan Pembolehubah dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

JavaScript adalah di tengah -tengah laman web moden kerana ia meningkatkan interaktiviti dan dinamik laman web. 1) Ia membolehkan untuk menukar kandungan tanpa menyegarkan halaman, 2) memanipulasi laman web melalui Domapi, 3) menyokong kesan interaktif kompleks seperti animasi dan drag-and-drop, 4) mengoptimumkan prestasi dan amalan terbaik untuk meningkatkan pengalaman pengguna.

C dan JavaScript mencapai interoperabilitas melalui webassembly. 1) Kod C disusun ke dalam modul WebAssembly dan diperkenalkan ke dalam persekitaran JavaScript untuk meningkatkan kuasa pengkomputeran. 2) Dalam pembangunan permainan, C mengendalikan enjin fizik dan rendering grafik, dan JavaScript bertanggungjawab untuk logik permainan dan antara muka pengguna.

JavaScript digunakan secara meluas di laman web, aplikasi mudah alih, aplikasi desktop dan pengaturcaraan sisi pelayan. 1) Dalam pembangunan laman web, JavaScript mengendalikan DOM bersama -sama dengan HTML dan CSS untuk mencapai kesan dinamik dan menyokong rangka kerja seperti JQuery dan React. 2) Melalui reaktnatif dan ionik, JavaScript digunakan untuk membangunkan aplikasi mudah alih rentas platform. 3) Rangka kerja elektron membolehkan JavaScript membina aplikasi desktop. 4) Node.js membolehkan JavaScript berjalan di sisi pelayan dan menyokong permintaan serentak yang tinggi.

Python lebih sesuai untuk sains data dan automasi, manakala JavaScript lebih sesuai untuk pembangunan front-end dan penuh. 1. Python berfungsi dengan baik dalam sains data dan pembelajaran mesin, menggunakan perpustakaan seperti numpy dan panda untuk pemprosesan data dan pemodelan. 2. Python adalah ringkas dan cekap dalam automasi dan skrip. 3. JavaScript sangat diperlukan dalam pembangunan front-end dan digunakan untuk membina laman web dinamik dan aplikasi satu halaman. 4. JavaScript memainkan peranan dalam pembangunan back-end melalui Node.js dan menyokong pembangunan stack penuh.

C dan C memainkan peranan penting dalam enjin JavaScript, terutamanya digunakan untuk melaksanakan jurubahasa dan penyusun JIT. 1) C digunakan untuk menghuraikan kod sumber JavaScript dan menghasilkan pokok sintaks abstrak. 2) C bertanggungjawab untuk menjana dan melaksanakan bytecode. 3) C melaksanakan pengkompil JIT, mengoptimumkan dan menyusun kod hot-spot semasa runtime, dan dengan ketara meningkatkan kecekapan pelaksanaan JavaScript.

Aplikasi JavaScript di dunia nyata termasuk pembangunan depan dan back-end. 1) Memaparkan aplikasi front-end dengan membina aplikasi senarai TODO, yang melibatkan operasi DOM dan pemprosesan acara. 2) Membina Restfulapi melalui Node.js dan menyatakan untuk menunjukkan aplikasi back-end.

Penggunaan utama JavaScript dalam pembangunan web termasuk interaksi klien, pengesahan bentuk dan komunikasi tak segerak. 1) kemas kini kandungan dinamik dan interaksi pengguna melalui operasi DOM; 2) pengesahan pelanggan dijalankan sebelum pengguna mengemukakan data untuk meningkatkan pengalaman pengguna; 3) Komunikasi yang tidak bersesuaian dengan pelayan dicapai melalui teknologi Ajax.

Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa