當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
javascript—闭包
生活随笔
收集整理的這篇文章主要介紹了
javascript—闭包
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
javascript 閉包就是在另一個(gè)作用域中保存了一份它從上一級(jí)函數(shù)或作用域取得的變量(鍵值對(duì)0),
而這些鍵值對(duì)是不會(huì)隨上一級(jí)函數(shù)的執(zhí)行完成而銷(xiāo)毀。
????function a(){
????var i=0;
????function b(){
????alert(++i);
????}
????return b;
????}
????var c=a();
????c();
在執(zhí)行完var c=a()后,變量c實(shí)際上是指向了函數(shù)b,b中用到了變量i,
再執(zhí)行c()后就會(huì)彈出一個(gè)窗口顯示i的值(第一次為1)。這段代碼其實(shí)就創(chuàng)建了一個(gè)閉包。
為什么?因?yàn)楹瘮?shù)a外的變量c應(yīng)用了函數(shù)b函數(shù)a內(nèi)的,
就是說(shuō):當(dāng)函數(shù)a的內(nèi)部函數(shù)b被函數(shù)a外的一個(gè)變量引用的時(shí)候,就創(chuàng)建了一個(gè)我們通常所謂的閉包
轉(zhuǎn)載于:https://blog.51cto.com/codejson/1910544
總結(jié)
以上是生活随笔為你收集整理的javascript—闭包的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: swiper去除滑动设置
- 下一篇: 使用RunTime添加动态方法、方法交换