前端小知识点(6):听了好多闭包,这次可能最懂
生活随笔
收集整理的這篇文章主要介紹了
前端小知识点(6):听了好多闭包,这次可能最懂
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
一、作用域和作用域鏈
二、閉包
三、無意間共享環(huán)境[可以通過閉包解決]
代碼一
結(jié)果一
?代碼二
結(jié)果二
?代碼三
結(jié)果三
一、作用域和作用域鏈
?? ?
?? ?當(dāng)函數(shù)聲明的時候,函數(shù)會通過內(nèi)部屬性[scope]來記錄創(chuàng)建范圍
二、閉包
?? ?什么是閉包:閉包是一個函數(shù)加上到創(chuàng)建函數(shù)的作用域的連接,閉包“關(guān)閉”了函數(shù)的自由變量。
第一句話(得到的理解):2個函數(shù),2個函數(shù)作用域[scope]還要連接上;
第二句話(得到的理解):關(guān)閉函數(shù)的變量自由:它暫時不會銷毀;
三、無意間共享環(huán)境[可以通過閉包解決]
代碼一
var str = '123';function fn(){var str = '456';console.log( str ); }fn();結(jié)果一
?代碼二
function fun(n){return function(m){n+=m;return n;} }//第一步 var f = fun(5); //第二步console.log( f(1) );console.log( f(1) );console.log( f(1) );結(jié)果二
?代碼三
var lis = document.getElementsByTagName('li');for(var i=0;i<lis.length;i++){(function(){var idx = i;lis[i].onclick = function(){console.log(idx);}})();}結(jié)果三
?
總結(jié)
以上是生活随笔為你收集整理的前端小知识点(6):听了好多闭包,这次可能最懂的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据概念思维导图_大数据技术思维导图
- 下一篇: 基于Docker搭建Percona Xt