Rumah > Artikel > hujung hadapan web > Apakah fungsi tanpa nama dalam JavaScript? Analisis ringkas senario aplikasi
Seperti namanya, fungsi tanpa nama merujuk kepada fungsi tanpa nama Ia digunakan dengan kerap dalam pembangunan sebenar dan juga menjadi tumpuan pembelajaran JS dengan baik. Artikel berikut akan memberi anda pengenalan terperinci kepada fungsi tanpa nama dalam JavaScript Saya harap ia akan membantu anda! Fungsi tanpa nama: Fungsi tanpa nama sebenar.
Mula-mula kami mengisytiharkan fungsi normal:Kemudian alih keluar nama fungsi untuk menjadi fungsi tanpa nama:
Itu sahaja, anda akan mendapati bahawa apabila menjalankan fungsi tanpa nama sahaja, ralat dilaporkan kerana ia tidak memenuhi keperluan tatabahasa!Penyelesaian: Hanya bungkus kurungan di sekeliling fungsi tanpa nama untuk menjadikannya ungkapan:
//声明一个普通函数,函数的名字叫fn function fn(){ console.log("web-chubby"); }
Bagaimana untuk melaksanakan dan menggunakan fungsi tanpa nama?
//匿名函数,咦,运行时,你会发现报错啦! function (){ console.log("web-chubby"); }1. Jalankan fungsi tanpa nama
Jika anda perlu melaksanakan fungsi tanpa nama, tambahkan kurungan selepas fungsi tanpa nama, iaitu, laksanakan fungsi dengan segera
//匿名函数在其它应用场景括号可以省略 (function (){ //由于没有执行该匿名函数,所以不会执行匿名函数体内的语句。 console.log("web-chubby"); })Tanda kurung hanya membalut fungsi tanpa nama diikuti dengan kurungan pelaksanaan (biasa digunakan)
kurungan Balut fungsi tanpa nama dan kurungan yang melaksanakan fungsi tanpa nama untuk membentuk ungkapan
dan parameter biasa lain Begitu juga, tulis sahaja parameter terus dalam kurungan:
(function () { alert('匿名函数执行方式一') })();
Ikat kaedah masa Peristiwa
(function (m) { alert(m) }('这是匿名函数传进来的参数'));
Ungkapan fungsi memberikan fungsi tanpa nama kepada pembolehubah
<input type="button" value="点我啊!" id="sub"> <script> //获得按钮元素 var sub=document.querySelector("#sub"); //给按钮增加点击事件。 sub.onclick=function(){ alert("当点击按钮时会执行到我哦!"); } </script>
//将匿名函数赋值给变量fn。 var fn=function(){ return "我是一只小小小小留下,怎么飞也飞不高!" } //调用方式与调用普通函数一样 console.log(fn());//我是一只小小小小留下,怎么飞也飞不高!
var obj={ name:"web-chubby", age:18, fn:function(){ return "我叫"+this.name+"今年"+this.age+"岁了!"; } }; console.log(obj.fn());//我叫web-chubby今年18岁了!
//过滤出值为9的值 let numArr = [1, 5, 9, 10] let newArr = numArr.filter(function (item) { if (item !== 9) { return item } });
//将匿名函数作为返回值 function fn(){ //返回匿名函数 return function(){ return "web-chubby"; } } //调用匿名函数 console.log(fn()());//web-chubby //或 var box=fn(); console.log(box());//web-chubbyCuba skop peringkat blok:
Peranan fungsi tanpa nama:
1. Penutupan boleh dilaksanakan melalui fungsi tanpa nama akan diterangkan dalam artikel berikut. Pengenalan pantas di sini: penutupan ialah fungsi yang boleh mengakses pembolehubah yang ditakrifkan dalam skop fungsi. Untuk membuat penutupan, anda selalunya perlu menggunakan fungsi tanpa nama.
if(1==1){//条件成立,执行if代码块语句。 var a=12;//a为全局变量 } console.log(a);//12 for(var i=0;i<3;i++){ console.log(i); } console.log(i);//42. Simulasikan skop peringkat blok dan kurangkan pembolehubah global. Selepas melaksanakan fungsi tanpa nama, pembolehubah sepadan yang disimpan dalam memori akan dimusnahkan, sekali gus menjimatkan memori. Tambahan pula, dalam projek pembangunan berbilang orang berskala besar, menggunakan skop peringkat blok akan mengurangkan masalah konflik penamaan, dengan itu mengelakkan akibat bencana. Pembangun tidak perlu lagi bimbang tentang mengacaukan skop global. [Cadangan berkaitan:
(function(){ //这里是我们的块级作用域(私有作用域) })();tutorial pembelajaran javascript]
function fn(){ (function(){ var la="啦啦啦!"; })(); console.log(la);//报错---la is not defined } fn();
Atas ialah kandungan terperinci Apakah fungsi tanpa nama dalam JavaScript? Analisis ringkas senario aplikasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!