国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

深入理解閉包——到底什么才是閉包

tomorrowwu / 2176人閱讀

摘要:古老定義閉包,是指函數(shù)變量可以保存在函數(shù)作用域內(nèi),因此看起來是函數(shù)將變量包裹了起來根據(jù)定義,包含變量的函數(shù)就是閉包定義一閉包是指可以訪問其所在作用域的函數(shù)按照定義一的說法,需要通過作用域鏈在全局環(huán)境中查找變量的函數(shù)就是閉包定義二閉包是指有權(quán)

古老定義
閉包(closure),是指函數(shù)變量可以保存在函數(shù)作用域內(nèi),因此看起來是函數(shù)將變量“包裹”了起來
//根據(jù)定義,包含變量的函數(shù)就是閉包
function foo() {
    var n = 0;
}
cosole.log(n) // Uncaught ReferenceError: n is not defined
定義一
閉包是指可以訪問其所在作用域的函數(shù)
//按照定義一的說法,需要通過作用域鏈在全局環(huán)境中查找變量的函數(shù)就是閉包
var n = 0;
function foo() {
    console.log(n); //0
}
foo();
定義二
閉包是指有權(quán)訪問另一個函數(shù)作用域中的變量的函數(shù)
//根據(jù)定義二,訪問上層函數(shù)的作用域的內(nèi)層函數(shù)就是閉包
function foo() {
    var a = 2;
    function bar() {
        console.log(a);
    }
    bar();
}
foo();
定義三
閉包是指在函數(shù)聲明時的作用域以外的地方被調(diào)用的函數(shù)
//通過將該函數(shù)作為返回值或者作為參數(shù)被傳遞
function foo() {
    var a = 2;
    function bar() {
        console.log(a); //2
    }
    return bar;
    
    /*函數(shù)的返回值可以簡寫為:
    return function {
        console.log(a) //2
    }
    */
}
foo()();

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/92671.html

相關(guān)文章

  • 到底什么閉包深入理解javascript閉包

    摘要:如何使用閉包所以這時候我們就要用閉包去解決這個問題了,先看代碼。計數(shù)器為這時候的就形成了一個閉包。一個閉包由兩部分組成,函數(shù)和創(chuàng)建該函數(shù)的環(huán)境。就是創(chuàng)建了一個匿名函數(shù)調(diào)用函數(shù)解除對匿名函數(shù)的引用,以便釋放內(nèi)存 古老定義 閉包(closure),是指函數(shù)變量可以保存在函數(shù)作用域內(nèi),因此看起來是函數(shù)將變量包裹了起來。 //根據(jù)定義,包含變量的函數(shù)就是閉包 function foo() { ...

    figofuture 評論0 收藏0
  • 你應(yīng)該要知道的作用域和閉包

    摘要:寫在前面對于一個前端開發(fā)者,應(yīng)該沒有不知道作用域的。欺騙詞法作用域有兩個機制可以欺騙詞法作用域和。關(guān)于你不知道的的第一部分作用域和閉包已經(jīng)結(jié)束了,但是,更新不會就此止住未完待續(xù) 這是《你不知道的JavaScript》的第一部分。 本系列持續(xù)更新中,Github 地址請查閱這里。 寫在前面 對于一個前端開發(fā)者,應(yīng)該沒有不知道作用域的。它是一個既簡單有復(fù)雜的概念,簡單到每行代碼都有它的影子...

    JouyPub 評論0 收藏0
  • JavaScript - 收藏集 - 掘金

    摘要:插件開發(fā)前端掘金作者原文地址譯者插件是為應(yīng)用添加全局功能的一種強大而且簡單的方式。提供了與使用掌控異步前端掘金教你使用在行代碼內(nèi)優(yōu)雅的實現(xiàn)文件分片斷點續(xù)傳。 Vue.js 插件開發(fā) - 前端 - 掘金作者:Joshua Bemenderfer原文地址: creating-custom-plugins譯者:jeneser Vue.js插件是為應(yīng)用添加全局功能的一種強大而且簡單的方式。插....

    izhuhaodev 評論0 收藏0
  • 深入挖掘js之函數(shù)

    摘要:通過可取可取的他們所屬對象的上下文的方法稱為公共方法函數(shù)調(diào)用模式當(dāng)一個函數(shù)并非一個對象的屬性時,那么它就是被當(dāng)做一個函數(shù)來調(diào)用的,以此模式調(diào)用函數(shù),被綁定到了全局對象。 前言: 前端這兩年的新技術(shù)鋪天蓋地,各種框架、工具層出不窮眼花繚亂。最近打算好好復(fù)習(xí)下 js 基礎(chǔ),夯實的基礎(chǔ)才是學(xué)習(xí)新技術(shù)的基石。本文作為讀書筆記簡單的總結(jié)下 js 函數(shù)的基礎(chǔ)知識。 一、函數(shù)對象 JavaScr...

    douzifly 評論0 收藏0
  • 請用一句優(yōu)雅的話表達javascript閉包

    摘要:局部變量只在當(dāng)前函數(shù)體內(nèi)有效,出了函數(shù)體,就上一級的范圍,局部變量無效。但是在中,函數(shù)內(nèi)部有一個函數(shù),它的函數(shù)體內(nèi)的是指中聲明的局部變量,而非全局變量。這就是一個非常典型的閉包了。 嚴格的講,閉包常常表現(xiàn)為一個函數(shù)內(nèi)部的函數(shù),它使用了非自己定義的、自己所在作用域內(nèi)的變量,并且使這些變量突破了作用域的限制。 函數(shù)內(nèi)部的函數(shù):私有函數(shù) 首先,我們從這個內(nèi)部函數(shù)去說開,因為這個是形式上的,如...

    mochixuan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<