Rumah > hujung hadapan web > tutorial js > Pelajari petua functions_javascript penutupan Javascript dengan mudah

Pelajari petua functions_javascript penutupan Javascript dengan mudah

WBOY
Lepaskan: 2016-05-16 15:25:40
asal
973 orang telah melayarinya

Apakah fungsi penutupan?Apabila anda mula mempelajari penutupan, mungkin sukar untuk semua orang fahami daripada penjelasan rasminya, ia agak berkonsepkan.

Tetapi kita masih bermula dari maksud penutupan.
Penutupan bermaksud fungsi mempunyai pembolehubah bebas dan bebas. Dalam erti kata lain, fungsi yang ditakrifkan dalam penutupan boleh "mengingat" persekitaran di mana ia dicipta.
Selepas penjelasan rasmi, mari kita lihat contoh pengiraan mudah dahulu.

var c = 0;
function count(){
c++;
}
count();// 1
count();// 2
Salin selepas log masuk

Contoh ini dilaksanakan menggunakan pembolehubah global, tetapi terdapat masalah di sini Pembolehubah c juga mudah dipanggil oleh kaedah lain Pada masa ini, nilai yang disimpan c mungkin berubah, menyebabkan kiraan menjadi tidak sah Bagaimana untuk menangani masalah ini dengan baik! Apa yang akan kita fikirkan ialah menggunakan pembolehubah tempatan untuk menanganinya

function count(){
 var c = 0;
 function add(){
  c++;
 }
 add();
}
count();// c = 1
count();// c = 1
Salin selepas log masuk
Kerana selepas penciptaan dengan cara ini, pembolehubah dalaman hanya wujud apabila fungsi kiraan dibuat dan dilaksanakan Selepas pelaksanaan, keseluruhan fungsi akan dibuang kami akan Gunakan penutupan untuk menyelesaikannya. Saya ingin menyebutnya sekali lagi: penutupan = persekitaran fungsi


function count(){
  var c = 0;
  function add(){
   c++;
  }
  return add;
}
var ct = count();
ct(); // c = 1
ct(); // c = 2
Salin selepas log masuk
Pada masa ini, kita boleh menggunakan penutupan ini untuk melengkapkan keupayaan pengiraan ct adalah fungsi penutupan, dan persekitaran dalaman ialah pembolehubah tempatan c penutupan Apakah fungsi lain yang ada pada ini?

Gunakan penutupan untuk mensimulasikan kaedah peribadi

Ini sedikit seperti kaedah persendirian atau pembolehubah persendirian JAVA, yang hanya boleh dikendalikan oleh anda sendiri. Jika anda beroperasi secara luaran, anda perlu menetapkan kaedah awam untuk beroperasi

var person = (function(){
  var _name = "编程的人";
  var age = 20;
  return {
   add:function(){
     age++;
   },
   jian:function(){
     age--;
   },
   getAge:function() {
     return age;
   },
   getName:function(){
     return _name;
   },
   setName: function (name) {
     _name = name;        
   }
  }
})();
person.add();
var age = person.getAge();
console.log(age)
person.setName("编程的人公众号:bianchengderen")
console.log(person.getName())
Salin selepas log masuk
Ia sepatutnya mudah difahami di sini! Sudah tentu, Javascript juga mempunyai ciri-ciri pengaturcaraan berorientasikan objek Kami akan menerangkannya kemudian Setakat ini, kami telah menggunakan contoh daripada pengiraan kepada penswastaan ​​dalaman untuk menggambarkan penutupan Saya harap semua orang dapat memahami prinsip dengan mudah. ​​Sudah tentu, penutupan mempunyai fungsi lain yang lebih mudah digunakan.

Di atas adalah keseluruhan kandungan artikel ini saya harap ia akan membantu semua orang dalam mempelajari pengaturcaraan javascript.

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan