cari

Apakah skop dalam javascript

Jan 18, 2022 pm 05:50 PM
javascriptSkop

Dalam JavaScript, skop ialah julat pemboleh ubah (objek, fungsi) yang boleh diakses dan julat pembolehubah yang berkesan yang boleh dibaca dan ditulis dalam skop skrip boleh mengawal keterlihatan dan kitaran hayat pembolehubah .

Apakah skop dalam javascript

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.

Hampir semua bahasa mempunyai konsep skop Ringkasnya, Skop ialah skop boleh diakses pembolehubah, iaitu, skop mengawal keterlihatan dan kitaran hayat pembolehubah. .

Dalam JavaScript, objek dan fungsi juga pembolehubah.

Sebelum ECMAScript6, skop pembolehubah terutamanya dibahagikan kepada skop global dan skop tempatan (juga dipanggil skop fungsi dalam ECMAScript6 dan selepas itu, skop pembolehubah dibahagikan kepada Terdapat tiga jenis: skop global, skop tempatan dan skop peringkat blok.

Pembolehubah dalam skop yang sepadan dipanggil pembolehubah global, pembolehubah tempatan dan pembolehubah peringkat blok masing-masing.

  • Pembolehubah global diisytiharkan di luar semua fungsi; >

  • Pembolehubah peringkat blok ialah pembolehubah yang diisytiharkan dalam blok dan hanya sah dalam blok.

  • Skop pembolehubah berkait rapat dengan kaedah pengisytiharan. Pembolehubah yang diisytiharkan menggunakan var mempunyai skop global dan skop fungsi, dan tiada skop peringkat blok yang diisytiharkan menggunakan let dan const mempunyai skop global, skop tempatan dan skop peringkat blok.

  • Kod skrip di atas masing-masing mengisytiharkan 4 pembolehubah global, 3 pembolehubah tempatan dan 1 peringkat blok. Di luar fungsi scopeTest, pembolehubah v1, v2, v3 dan v4 ialah pembolehubah global dalam badan fungsi scopeTest, lv dan v2 ialah pembolehubah global dalam blok penghakiman, lv ialah pembolehubah peringkat blok.

Kami melihat bahawa pembolehubah tempatan v1 dan v2 mempunyai nama yang sama dengan pembolehubah global v1 dan v2 Dalam badan fungsi scopeTest, pembolehubah tempatan v1 dan v2 adalah sah, jadi hasil keluaran kedua-dua pembolehubah ini dalam fungsi. body ialah "bbb" " dan "ccc"; di luar badan fungsi, pembolehubah global v1 dan v2 adalah sah, jadi di luar badan fungsi, hasil output kedua-dua pembolehubah ini ialah "JavaScript" dan "JScript" masing-masing.

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
	</head>
	<body>
		<script>
			var v1 = "JavaScript"; //全局变量
			let v2 = "JScript"; //全局变量
			let v3 = "Script"; //全局变量
			scopeTest(); //调用函数
			function scopeTest() {
				var lv = "aaa"; //局部变量
				var v1 = "bbb"; //局部变量
				let v2 = "ccc"; //局部变量
				if (true) {
					let lv = "123"; //块级变量
					console.log("块内输出的lv = " + lv); //123
				}
				console.log("函数体内输出的lv = " + lv); //aaa
				console.log("函数体内输出的v1 = " + v1); //bbb
				console.log("函数体内输出的v2 = " + v2); //ccc
				console.log("函数体内输出的v3 = " + v3); //Script
				//v4为全局变量,赋值在后面,因而值为undefined
				console.log("函数体内输出的v4 = " + v4);
			}
			var v4 = "VBScript"; //全局变量
			console.log("函数体外输出的lv = " + lv); //① 报ReferenceError错误
			console.log("函数体外输出的v1 = " + v1); //JavaScript
			console.log("函数体外输出的v2 = " + v2); //JScript
			console.log("函数体外输出的v3 = " + v3); //Script
			console.log("函数体外输出的v3 = " + v4); //VBScript
		</script>
	</body>
</html>
Selain itu, pembolehubah peringkat blok lv dan pembolehubah tempatan lv mempunyai nama yang sama Dalam blok penghakiman if, pembolehubah peringkat blok lv adalah sah, jadi hasil output dalam blok ialah "123 ", manakala di luar blok, pembolehubah tempatan lv Sah, hasil keluaran pembolehubah lv ialah "aaa".

Selain itu, pembolehubah global v3 dan v4 tidak ditimpa dalam badan fungsi, jadi nilai pembolehubah global adalah output, jadi hasil keluaran v3 dalam badan fungsi dan di luar badan ialah "Skrip ", manakala pembolehubah v4 Tugasan adalah selepas panggilan fungsi, jadi hasil output v4 dalam badan fungsi adalah "tidak ditentukan", manakala output di luar badan fungsi adalah selepas pengisytiharan, jadi hasilnya adalah "VBScript". lv ialah pembolehubah tempatan, jadi mengaksesnya di luar fungsi akan melaporkan ralat "ReferenceError".

Selepas kod di atas dijalankan dalam penyemak imbas Chrome, buka konsol penyemak imbas dan anda boleh melihat output seperti yang ditunjukkan di bawah.


Sebab ralat dalam baris 28:

Pembolehubah lv ialah pembolehubah tempatan dan tidak sah selepas meninggalkan fungsi. Komen baris kod ini dan kemudian jalankannya Pada masa ini, buka konsol penyemak imbas dan anda akan melihat: Apakah skop dalam javascript

[Cadangan berkaitan:

tutorial pembelajaran javascript

Apakah skop dalam javascript

Atas ialah kandungan terperinci Apakah skop dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
React: asas untuk pembangunan frontend modenReact: asas untuk pembangunan frontend modenApr 19, 2025 am 12:23 AM

React adalah perpustakaan JavaScript untuk membina aplikasi front-end moden. 1. Ia menggunakan komponen dan maya DOM untuk mengoptimumkan prestasi. 2. Komponen menggunakan JSX untuk menentukan, menyatakan dan atribut untuk menguruskan data. 3. Cangkuk memudahkan pengurusan kitaran hidup. 4. Gunakan Contextapi untuk menguruskan status global. 5. Kesilapan biasa memerlukan kemas kini status debugging dan kitaran hayat. 6. Teknik pengoptimuman termasuk memoisasi, pemisahan kod dan menatal maya.

Masa Depan React: Trend dan Inovasi dalam Pembangunan WebMasa Depan React: Trend dan Inovasi dalam Pembangunan WebApr 19, 2025 am 12:22 AM

Masa depan React akan memberi tumpuan kepada pembangunan komponen utama, pengoptimuman prestasi dan integrasi yang mendalam dengan susunan teknologi lain. 1) React akan memudahkan penciptaan dan pengurusan komponen dan mempromosikan perkembangan komponen utama. 2) Pengoptimuman prestasi akan menjadi tumpuan, terutamanya dalam aplikasi besar. 3) React akan disepadukan dengan teknologi seperti GraphQL dan TypeScript untuk meningkatkan pengalaman pembangunan.

React: Alat yang berkuasa untuk membina komponen UIReact: Alat yang berkuasa untuk membina komponen UIApr 19, 2025 am 12:22 AM

React adalah perpustakaan JavaScript untuk membina antara muka pengguna. Idea terasnya ialah membina UI melalui komponen. 1. Komponen adalah unit asas React, merangkumi logik dan gaya UI. 2. DOM maya dan pengurusan negeri adalah kunci kepada kerja komponen, dan keadaan dikemas kini melalui setstate. 3. Siklus hidup termasuk tiga peringkat: gunung, kemas kini dan nyahpasang. Prestasi ini boleh dioptimumkan dengan menggunakan munasabah. 4. Gunakan UseState dan Contextapi untuk menguruskan negara, meningkatkan kebolehgunaan semula komponen dan pengurusan negara global. 5. Kesilapan biasa termasuk kemas kini status yang tidak betul dan isu -isu prestasi, yang boleh disahpepijat melalui ReactDevTools. 6. Cadangan Pengoptimuman Prestasi termasuk menggunakan memo, mengelakkan penyampaian semula yang tidak perlu, dan menggunakan kami

Menggunakan React dengan HTML: Komponen dan data renderingMenggunakan React dengan HTML: Komponen dan data renderingApr 19, 2025 am 12:19 AM

Menggunakan HTML untuk membuat komponen dan data dalam React dapat dicapai melalui langkah -langkah berikut: Menggunakan sintaks JSX: React menggunakan sintaks JSX untuk membenamkan struktur HTML ke dalam kod JavaScript, dan mengendalikan DOM selepas penyusunan. Komponen digabungkan dengan HTML: Komponen React meluluskan data melalui props dan secara dinamik menghasilkan kandungan HTML, seperti. Pengurusan Aliran Data: Aliran data React adalah satu arah, diluluskan dari komponen induk kepada komponen kanak-kanak, memastikan aliran data dapat dikawal, seperti komponen aplikasi yang melewati nama untuk menyambut. Contoh penggunaan asas: Gunakan fungsi peta untuk membuat senarai, anda perlu menambah atribut utama, seperti membuat senarai buah. Contoh Penggunaan Lanjutan: Gunakan Hook UseState untuk menguruskan negeri dan melaksanakan dinamik

Tujuan React: Membina Aplikasi Single-Page (SPA)Tujuan React: Membina Aplikasi Single-Page (SPA)Apr 19, 2025 am 12:06 AM

React adalah alat pilihan untuk membina aplikasi satu halaman (SPA) kerana ia menyediakan cara yang cekap dan fleksibel untuk membina antara muka pengguna. 1) Pembangunan Komponen: Split kompleks UI ke bahagian yang bebas dan boleh diguna semula untuk meningkatkan kebolehpercayaan dan kebolehgunaan semula. 2) DOM Maya: Mengoptimumkan prestasi rendering dengan membandingkan perbezaan antara DOM maya dan DOM sebenar. 3) Pengurusan Negeri: Menguruskan aliran data melalui negeri dan atribut untuk memastikan konsistensi dan kebolehprediksi data.

React: Kekuatan perpustakaan JavaScript untuk pembangunan webReact: Kekuatan perpustakaan JavaScript untuk pembangunan webApr 18, 2025 am 12:25 AM

React adalah perpustakaan JavaScript yang dibangunkan oleh Meta untuk membina antara muka pengguna, dengan terasnya menjadi pembangunan komponen dan teknologi DOM maya. 1. Komponen dan Pengurusan Negeri: React menguruskan keadaan melalui komponen (fungsi atau kelas) dan cangkuk (seperti UseState), meningkatkan kebolehgunaan semula kod dan penyelenggaraan. 2. DOM maya dan pengoptimuman prestasi: Melalui DOM maya, bereaksi dengan cekap mengemas kini DOM sebenar untuk meningkatkan prestasi. 3. Kitaran Hidup dan Cangkuk: Cangkuk (seperti Useeffect) membolehkan komponen fungsi menguruskan kitaran hayat dan melakukan operasi kesan sampingan. 4. Contoh Penggunaan: Dari Komponen Helloworld Asas ke Pengurusan Negeri Global Lanjutan (USEContext dan

Ekosistem React: Perpustakaan, Alat, dan Amalan TerbaikEkosistem React: Perpustakaan, Alat, dan Amalan TerbaikApr 18, 2025 am 12:23 AM

Ekosistem React termasuk perpustakaan pengurusan negeri (seperti redux), perpustakaan penghalaan (seperti reactrouter), perpustakaan komponen UI (seperti bahan-UI), alat ujian (seperti jest), dan alat bangunan (seperti webpack). Alat ini bekerjasama untuk membantu pemaju membangun dan mengekalkan aplikasi dengan cekap, meningkatkan kualiti kod dan kecekapan pembangunan.

Pembangunan React dan Frontend: Gambaran keseluruhan yang komprehensifPembangunan React dan Frontend: Gambaran keseluruhan yang komprehensifApr 18, 2025 am 12:23 AM

React adalah perpustakaan JavaScript yang dibangunkan oleh Facebook untuk membina antara muka pengguna. 1. Ia mengamalkan teknologi DOM komponen dan maya untuk meningkatkan kecekapan dan prestasi pembangunan UI. 2. Konsep teras React termasuk komponenisasi, pengurusan negeri (seperti useState dan useeffect) dan prinsip kerja dom maya. 3. 4. Kesilapan umum seperti melupakan untuk menambah atribut utama atau kemas kini status yang salah boleh didebitkan melalui ReactDevTools dan log. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan react.memo, segmentasi kod dan menyimpan kod yang boleh dibaca dan mengekalkan kebolehpercayaan

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)