Rumah hujung hadapan web tutorial js 对闭包的通俗理解 - 5Clay

对闭包的通俗理解 - 5Clay

Oct 09, 2017 am 09:54 AM
faham

说到闭包,就会涉及到js函数的变量作用域,分为局部变量和全局变量。函数内部可以直接读取函数外部的变量,但是函数外部无法直接读取函数内部的变量。

但是有时我们需要拿到函数的局部变量,所以闭包就产生了,闭包就是在该函数里面再定义一个函数,如下代码:

var foo=(function () {

     var a="11";

     return{
         get_a:function () {
             return a;
         },
         new_a:function (newValue) {
             a=newValue;
         }
     }
} ())
 console.log(foo.a) //输出undefined,因为函数外部不能直接访问内部的局部变量
 console.log(foo.get_a())//输出11
 foo.new_a("我是通过闭包改变的值")//调用并且传参
 console.log(foo.get_a()) //输出我是通过闭包改变的值
Salin selepas log masuk

这样我们就可以在a函数外面获取到它内部的局部变量了。在上述函数中,return里面的函数就是闭包。

Atas ialah kandungan terperinci 对闭包的通俗理解 - 5Clay. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

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

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pemahaman mendalam tentang cara menggunakan saluran paip Linux Pemahaman mendalam tentang cara menggunakan saluran paip Linux Feb 21, 2024 am 09:57 AM

Pemahaman mendalam tentang penggunaan paip Linux Dalam sistem pengendalian Linux, paip adalah fungsi yang sangat berguna yang boleh menggunakan output satu arahan sebagai input bagi arahan lain, dengan itu mudah merealisasikan pelbagai pemprosesan dan operasi data yang kompleks. Pemahaman mendalam tentang cara paip Linux digunakan adalah sangat penting untuk pentadbir dan pembangun sistem. Artikel ini akan memperkenalkan konsep asas saluran paip dan menunjukkan cara menggunakan saluran paip Linux untuk pemprosesan dan operasi data melalui contoh kod tertentu. 1. Konsep asas paip dalam Linux

Fahami kepentingan ulasan bahasa Go Fahami kepentingan ulasan bahasa Go Mar 29, 2024 pm 04:48 PM

Komen adalah bahagian yang sangat penting dalam pengaturcaraan Go. Komen boleh membantu pengaturcara lebih memahami logik, tujuan dan butiran kod, dengan itu meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Artikel ini akan memperkenalkan kepentingan ulasan dalam bahasa Go dan menggabungkannya dengan contoh kod khusus untuk menggambarkan cara ulasan membantu pemahaman kod. Mula-mula, mari lihat contoh program Go yang mudah: packagemainimport "fmt" funcmain(){/

Bagaimana untuk memahami kaedah lulus nilai dengan betul dalam PHP Bagaimana untuk memahami kaedah lulus nilai dengan betul dalam PHP Mar 08, 2024 pm 03:30 PM

Cara memahami kaedah lulus nilai dengan betul dalam PHP PHP ialah bahasa skrip yang digunakan secara meluas dalam pembangunan Web, dan kaedah lulus parameter dalam PHP terutamanya termasuk lulus nilai dan lulus rujukan. Dan memahami bagaimana nilai dihantar dalam PHP adalah penting untuk menulis kod yang cekap. Artikel ini akan membincangkan kaedah lulus nilai dalam PHP secara terperinci dan menggunakan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. Konsep asas kaedah lulus nilai adalah untuk menyalin nilai pembolehubah dan menghantarnya kepada fungsi atau kaedah Operasi pada nilai dalam fungsi tidak akan menjejaskannya.

Pemahaman mendalam tentang rentetan.Fungsi Pisah dalam dokumentasi bahasa Go Pemahaman mendalam tentang rentetan.Fungsi Pisah dalam dokumentasi bahasa Go Nov 04, 2023 pm 01:14 PM

Untuk memahami rentetan secara mendalam. Fungsi split dalam dokumentasi bahasa Go, contoh kod khusus diperlukan Dalam bahasa Go, operasi rentetan adalah keperluan yang sangat biasa. Antaranya, pakej rentetan ialah pakej standard yang disediakan oleh bahasa Go dan menyediakan pelbagai fungsi pemprosesan rentetan. Antaranya, strings.Split function adalah salah satu fungsi yang biasa digunakan. Sebelum kita menyelam secara rasmi ke dalam rentetan. Fungsi Split,

Memahami perisian tengah ThinkPHP6 Memahami perisian tengah ThinkPHP6 Jun 20, 2023 am 10:03 AM

Memandangkan kerumitan aplikasi web moden terus meningkat, logik kod menjadi semakin kompleks. Untuk menyelesaikan masalah ini, perisian tengah menjadi semakin popular dalam pembangunan web moden. ThinkPHP6 ialah rangka kerja PHP popular yang turut menyokong perisian tengah. Dalam artikel ini, kita akan membincangkan asas dan kegunaan praktikal perisian pertengahan ThinkPHP6. Apakah middleware? Dalam pembangunan web, middleware merujuk kepada cara memproses permintaan dan respons HTTP. Apabila pelanggan menghantar permintaan kepada pelayan,

Terangkan secara ringkas: Fahami dengan teliti prinsip kerja julat bahasa Go Terangkan secara ringkas: Fahami dengan teliti prinsip kerja julat bahasa Go Mar 12, 2024 pm 02:18 PM

Bahasa Go ialah bahasa pengaturcaraan yang ringkas dan berkuasa dengan reka bentuk dan ciri unik dalam banyak aspek. Salah satu ciri yang paling mengagumkan ialah kata kunci julat, yang digunakan untuk mengulang struktur data seperti tatasusunan, kepingan, peta dan saluran. Fleksibiliti dan kemudahan julat memudahkan untuk merentasi struktur data yang kompleks, tetapi ramai orang keliru tentang cara ia berfungsi. Artikel ini akan menerangkan cara julat berfungsi dengan cara yang ringkas dan mudah difahami serta menggunakan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. Pertama, mari kita lihat contoh mudah

Menghuraikan peristiwa JS menggelegak: menyelesaikan keraguan biasa? Menghuraikan peristiwa JS menggelegak: menyelesaikan keraguan biasa? Feb 18, 2024 pm 02:16 PM

Pemahaman mendalam tentang peristiwa JS menggelegak: Apakah masalah biasa yang diselesaikan? Peristiwa menggelegak ialah konsep penting dalam JavaScript Ia merujuk kepada apabila elemen mencetuskan acara, kerana acara itu akan menggelegak daripada elemen pencetus kepada elemen induknya, atau elemen peringkat lebih tinggi. Dalam pembangunan web, memahami prinsip dan aplikasi acara menggelegak boleh membantu kami menyelesaikan banyak masalah biasa. Sebelum membincangkan secara rasmi aplikasi gelembung acara, mari kita fahami konsep asas gelembung acara. Berikut ialah contoh kod HTML mudah: &l

Biasa dengan tiga mod kerja SELinux Biasa dengan tiga mod kerja SELinux Feb 26, 2024 pm 03:27 PM

SELinux (Security-EnhancedLinux) ialah modul keselamatan yang melaksanakan Kawalan Capaian Mandatori (MAC) dalam sistem Linux. Ia menguatkuasakan dasar keselamatan dengan menggunakan label pada objek sistem (fail, proses, dll.) untuk kawalan akses yang lebih terperinci. SELinux mempunyai tiga mod kerja: Menguatkuasa, Permisif dan Dilumpuhkan Artikel ini akan memperkenalkan tiga mod ini secara terperinci dan memberikan contoh kod khusus. 1

See all articles