Perbezaan: Terdapat hanya dua jenis skop dalam es5: skop global dan skop fungsi, manakala terdapat tiga jenis skop dalam es6: skop global, skop fungsi dan skop peringkat blok, dengan yang baharu ditambah Skop peringkat blok. Peranan skop peringkat blok: Ia boleh menyelesaikan masalah pembolehubah luar yang ditimpa disebabkan oleh promosi pembolehubah skop dalaman, dan menghalang pembolehubah yang digunakan untuk pengiraan gelung daripada bocor ke dalam pembolehubah global.
Persekitaran pengendalian tutorial ini: sistem windows7, ECMAScript versi 6, komputer Dell G3
Skop es5 dan es6 Perbezaan:
Hanya terdapat dua jenis skop dalam es5: skop global dan skop fungsi
Skop dalam es6 Terdapat tiga jenis: skop global, skop fungsi dan skop peringkat blok
Hanya terdapat skop global dan skop fungsi dalam Es5
ES5 Gunakan var untuk isytiharkan pembolehubah. Pembolehubah yang diisytiharkan dengan var mungkin wujud dalam skop global atau dalam skop tempatan adalah seperti berikut
1 Tiga kes mempunyai skop global
a. Pembolehubah yang diisytiharkan di luar fungsi mempunyai skop global
b c. Sifat objek tetingkap mempunyai skop global2. Skop setempat (skop fungsi)
Skop pembolehubah dalam badan fungsi
Pembolehubah yang ditakrifkan dalam fungsi hanya boleh diakses dalam fungsi
Contoh
Skop peringkat blok baharu dalam Es6
var a = 1; console.log(a);// 1 此处a为全局变量,在全局作用域下都可访问得到 b = 2 console.log(b); // 2 此处b未被var定义,而是被直接赋值,自动声明为全局变量 function fun() { var c = 3; console.log(c);//3 此处c存在在函数作用域中,仅在函数fun中可访问 } fun() console.log(c);// undefined 全局作用域下访问函数作用域中的变量c,得到undefined
Skop peringkat blok boleh difahami secara ringkas sebagai: kandungan yang disertakan dalam kurungan kerinting {}, Ia boleh menjadi skopnya sendiri. Pembolehubah dalam skop peringkat blok diisytiharkan oleh let dan const
Mengapa skop peringkat blok diperlukan?
1 Selesaikan masalah bahawa promosi pembolehubah skop dalaman menyebabkan pembolehubah luar ditimpa
Hasil pelaksanaan
var i = 5; function fun(){ console.log(i);//undefined if(true){ var i = 6 console.log(i);//6 } } fun()Pembolehubah i dalam keseronokan fungsi diisytiharkan menggunakan var Ini melibatkan isu promosi pembolehubah Yang dipanggil promosi pembolehubah bermaksud pengisytiharan fungsi dan pengisytiharan pembolehubah sentiasa "dinaikkan pangkat" ke bahagian atas. badan kaedah oleh jurubahasa. Jadi i di sini adalah bersamaan dengan mencapai bahagian atas fungsi fun terlebih dahulu, tetapi tugasan masih dilakukan apabila i = 6. Kod di atas sebenarnya bersamaan dengan:
Apabila i yang pertama adalah Semasa mencetak , i hanya diisytiharkan tetapi tidak diberikan (i diberikan nilai 6 dalam pernyataan if), jadi i yang dicetak pertama tidak ditentukan, dan cetakan i kedua ialah 6
var i = 5; function fun(){ var i; console.log(i); if(true){ i = 6 console.log(i) } } fun()Jika anda menggunakan let untuk mengisytiharkan pembolehubah i dalam jika, pendakap kerinting { } di mana pernyataan if terletak akan membentuk skop peringkat blok, dan pembolehubah yang diisytiharkan dalam skop ini akan "terikat" di kawasan ini, dan tidak akan Ia terus terjejas oleh pengaruh luaran (iaitu zon mati sementara), jadi keluaran i pertama apabila melaksanakan fungsi keseronokan ialah var i=5 dalam skop global, dan output i dalam pernyataan if dibiarkan i diisytiharkan dalam skop peringkat blok =6
var i = 5; function fun(){ console.log(i);//5 if(true){ let i = 6 console.log(i);//6 } } fun()2. Halang pembolehubah yang digunakan untuk pengiraan gelung daripada bocor ke dalam pembolehubah global
Kod di atas mengisytiharkan pembolehubah i dengan var untuk gelung, keadaan ideal Perkara berikut i seharusnya hanya sah dalam badan gelung, tetapi i di sini didedahkan dalam skop global, jadi nilai i masih boleh diakses dalam skop global selepas gelung berakhir
for(var i = 0; i < 3; i++){ doSomething() } console.log(i)//3Untuk contoh Gunakan let dengan skop peringkat blok untuk mengisytiharkan i Pembolehubah i yang diisytiharkan di sini hanya sah dalam kurungan kerinting untuk gelung { }. >Ciri skop peringkat blok
for(let i = 0; i < 3; i++){ console.log(i) } console.log(i)//undefined
1 Pembolehubah yang diisytiharkan oleh let hanya sah dalam skop (pada masa ini dalam kurungan kerinting), jadi Sebarang sarang. dibenarkan, dan setiap tahap adalah skop yang berasingan 2 Skop dalam boleh mempunyai nama yang sama dengan pembolehubah skop luar (tiada skop digunakan tanpa mengganggu antara satu sama lain)
3. let Hanya boleh wujud pada tahap atas skop semasa,Nota: dalam { } in if pernyataan dan untuk pernyataan, jika terdapat pembolehubah/pemalar yang diisytiharkan oleh let atau const, skop { } juga tergolong kepada skop blok
Contoh tentang skop[Cadangan berkaitan:
tutorial video javascript
bahagian hadapan web
]<script type="text/javascript"> { var a = 1; console.log(a); // 1 } console.log(a); // 1 // 可见,通过var定义的变量可以跨块作用域访问到。 (function A() { var b = 2; console.log(b); // 2 })(); // console.log(b); // 报错, // 可见,通过var定义的变量不能跨函数作用域访问到 if(true) { var c = 3; } console.log(c); // 3 for(var i = 0; i < 4; i++) { var d = 5; }; console.log(i); // 4 (循环结束i已经是4,所以此处i为4) console.log(d); // 5 // if语句和for语句中用var定义的变量可以在外面访问到, // 可见,if语句和for语句属于块作用域,不属于函数作用域。 { var a = 1; let b = 2; const c = 3; { console.log(a); // 1 子作用域可以访问到父作用域的变量 console.log(b); // 2 子作用域可以访问到父作用域的变量 console.log(c); // 3 子作用域可以访问到父作用域的变量 var aa = 11; let bb = 22; const cc = 33; } console.log(aa); // 11 // 可以跨块访问到子 块作用域 的变量 // console.log(bb); // 报错 bb is not defined // console.log(cc); // 报错 cc is not defined } </script>
Atas ialah kandungan terperinci Apakah perbezaan antara skop es5 dan es6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Untuk mengintegrasikan React ke HTML, ikuti langkah -langkah ini: 1. Memperkenalkan React dan Reactdom dalam fail HTML. 2. Tentukan komponen React. 3. Mengadakan komponen ke dalam elemen HTML menggunakan ReactDom. Melalui langkah -langkah ini, halaman HTML statik dapat diubah menjadi pengalaman yang dinamik dan interaktif.

Populariti React termasuk pengoptimuman prestasi, penggunaan semula komponen dan ekosistem yang kaya. 1. Pengoptimuman prestasi mencapai kemas kini yang cekap melalui mekanisme maya dan mekanisme yang berbeza. 2. Penggunaan semula komponen mengurangkan kod pendua oleh komponen yang boleh diguna semula. 3. Ekosistem yang kaya dan aliran data sehala meningkatkan pengalaman pembangunan.

React adalah alat pilihan untuk membina antara muka pengguna yang dinamik dan interaktif. 1) Komponen dan JSX membuat UI berpecah dan menggunakan semula mudah. 2) Pengurusan negeri dilaksanakan melalui cangkuk UseState untuk mencetuskan kemas kini UI. 3) Mekanisme pemprosesan acara bertindak balas terhadap interaksi pengguna dan meningkatkan pengalaman pengguna.

React adalah rangka kerja front-end untuk membina antara muka pengguna; Rangka kerja back-end digunakan untuk membina aplikasi sisi pelayan. React menyediakan kemas kini UI yang komponen dan cekap, dan Rangka Kerja Backend menyediakan penyelesaian perkhidmatan backend lengkap. Apabila memilih timbunan teknologi, keperluan projek, kemahiran pasukan, dan skalabiliti harus dipertimbangkan.

Hubungan antara HTML dan React adalah teras pembangunan front-end, dan mereka bersama-sama membina antara muka pengguna aplikasi web moden. 1) HTML mentakrifkan struktur kandungan dan semantik, dan React membina antara muka dinamik melalui komponenisasi. 2) Komponen React Gunakan sintaks JSX untuk membenamkan HTML untuk mencapai rendering pintar. 3) Kitaran Hayat Komponen Menguruskan Rendering HTML dan Kemas kini secara dinamik mengikut keadaan dan atribut. 4) Gunakan komponen untuk mengoptimumkan struktur HTML dan meningkatkan keupayaan. 5) Pengoptimuman prestasi termasuk mengelakkan penyampaian yang tidak perlu, menggunakan atribut utama, dan menjaga tanggungjawab tunggal komponen.

React adalah alat pilihan untuk membina pengalaman front-end interaktif. 1) React memudahkan pembangunan UI melalui komponen dan DOM maya. 2) Komponen dibahagikan kepada komponen fungsi dan komponen kelas. Komponen fungsi adalah lebih mudah dan komponen kelas menyediakan lebih banyak kaedah kitaran hayat. 3) Prinsip kerja React bergantung kepada algoritma DOM dan perdamaian maya untuk meningkatkan prestasi. 4) Pengurusan negeri menggunakan useState atau ini. Kaedah kitaran hayat seperti ComponentDidMount digunakan untuk logik tertentu. 5) Penggunaan asas termasuk membuat komponen dan pengurusan negeri, dan penggunaan lanjutan melibatkan cangkuk tersuai dan pengoptimuman prestasi. 6) Kesalahan biasa termasuk kemas kini status yang tidak betul dan isu prestasi, kemahiran debugging termasuk menggunakan reactdevtools dan sangat baik

React adalah perpustakaan JavaScript untuk membina antara muka pengguna, dengan komponen terasnya dan pengurusan negeri. 1) Memudahkan pembangunan UI melalui komponen dan pengurusan negeri. 2) Prinsip kerja termasuk perdamaian dan rendering, dan pengoptimuman dapat dilaksanakan melalui React.Memo dan Usememo. 3) Penggunaan asas adalah untuk membuat dan membuat komponen, dan penggunaan lanjutan termasuk menggunakan cangkuk dan konteksapi. 4) Kesalahan biasa seperti kemas kini status yang tidak betul, anda boleh menggunakan ReactDevTools untuk debug. 5) Pengoptimuman prestasi termasuk menggunakan react.memo, senarai virtualisasi dan codesplitting, dan menyimpan kod yang boleh dibaca dan dikekalkan adalah amalan terbaik.

React menggabungkan JSX dan HTML untuk meningkatkan pengalaman pengguna. 1) JSX membenamkan HTML untuk menjadikan pembangunan lebih intuitif. 2) Mekanisme DOM maya mengoptimumkan prestasi dan mengurangkan operasi DOM. 3) UI pengurusan berasaskan komponen untuk meningkatkan kebolehkerjaan. 4) Pengurusan negeri dan pemprosesan acara meningkatkan interaktiviti.


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

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

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),

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

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna