<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        理解javascript中的回調函數(callback)_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 21:26:42
        文檔

        理解javascript中的回調函數(callback)_javascript技巧

        理解javascript中的回調函數(callback)_javascript技巧:最近在看 express,滿眼看去,到處是以函數作為參數的回調函數的使用。如果這個概念理解不了,nodejs、express 的代碼就會看得一塌糊涂。比如: 代碼如下: app.use(function(req, res, next) { var err = new Error('Not Foun
        推薦度:
        導讀理解javascript中的回調函數(callback)_javascript技巧:最近在看 express,滿眼看去,到處是以函數作為參數的回調函數的使用。如果這個概念理解不了,nodejs、express 的代碼就會看得一塌糊涂。比如: 代碼如下: app.use(function(req, res, next) { var err = new Error('Not Foun

        最近在看 express,滿眼看去,到處是以函數作為參數的回調函數的使用。如果這個概念理解不了,nodejs、express 的代碼就會看得一塌糊涂。比如:
        代碼如下:
        app.use(function(req, res, next) {
        var err = new Error('Not Found');
        err.status = 404;
        next(err);
        });

        app是對象,use是方法,方法的參數是一個帶參的匿名函數,函數體直接在后面給出了。這段代碼怎么理解呢?我們先來了解回調函數這個概念。
        首先要了解,在 js 中,函數也是對象,可以賦值給變量,可以作為參數放在函數的參數列表中。比如:
        代碼如下:
        var doSomething = function(a,b)
        {
        return a + b;
        }
        這段代碼的意思是定義一個匿名函數,這個匿名函數除了沒有名字之外,其他跟普通的函數沒有什么兩樣。然后把匿名函數賦值給變量doSomething。接下來我們調用:
        代碼如下:
        console.log(doSomething(2,3));

        這樣會輸出5。

        回調函數,就是放在另外一個函數(如 parent)的參數列表中,作為參數傳遞給這個 parent,然后在 parent 函數體的某個位置執行。說來抽象,看例子:
        代碼如下:
        // To illustrate the concept of callback
        var doit = function(callback)
        {
        var a = 1,
        b = 2,
        c = 3;
        var t = callback(a,b,c);
        return t + 10;
        };
        var d = doit(function(x,y,z){
        return (x+y+z);
        });
        console.log(d);

        先定義 doit 函數,有一個參數 callback。這個 callback 就是回調函數,名字可以任意取??春瘮刁w,先定義三個變量 a,b,c。然后調用 callback 函數。最后返回一個值。

        下面就調用 doit 函數了。要注意的是,剛才定義 doit 時,callback 并沒有定義,所以剛才并不知道 callback 是干什么用的。這其實很好理解,我們平時定義函數的時候,參數也只是給出了一個名字,比如 a,在函數體中使用 a,但整個過程也并不知道 a 到底是什么,只有在調用那個函數的時候才指定 a 的具體值,比如2.回過頭來,在調用 doit 的時候,我們就需要指定 callback 究竟是個什么東西了。可以看到,這個函數完成了一個 sum 功能。

        上述代碼的執行過程是:

        調用 doit函數,參數是一個匿名函數;進入 doit 的函數體中,先定義 a,b,c,然后執行剛才的匿名函數,參數是 a,b,c,并返回一個 t,最后返回一個 t+10給 d。

        回到最初的例子,app.use(...)是函數調用。我們可以想象,之前一定定義了一個 use 方法,只是這里沒有給出。這兩個例子一對比,就可以馬上理解了。

        在使用nodejs、express 的時候,不可能每個方法或函數我們都要找到它的函數定義去看一看。所以只要知道那個定義里面給 callback 傳遞了什么參數就行了。然后在調用方法或函數時,在參數里我們自己定義匿名函數來完成某些功能。

        Over!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        理解javascript中的回調函數(callback)_javascript技巧

        理解javascript中的回調函數(callback)_javascript技巧:最近在看 express,滿眼看去,到處是以函數作為參數的回調函數的使用。如果這個概念理解不了,nodejs、express 的代碼就會看得一塌糊涂。比如: 代碼如下: app.use(function(req, res, next) { var err = new Error('Not Foun
        推薦度:
        標簽: js 理解 callback
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 两个人日本免费完整版在线观看1| 亚洲一区二区精品视频| 香蕉免费在线视频| 老子影院午夜伦不卡亚洲| 亚洲精品美女在线观看| 亚洲伊人久久精品影院| 在线看片人成视频免费无遮挡| 91精品国产免费网站| a级毛片毛片免费观看永久| 最好2018中文免费视频| 亚洲熟女综合色一区二区三区| 亚洲视频一区在线播放| 久久精品国产亚洲AV麻豆~| 亚洲日韩VA无码中文字幕| 四虎影在线永久免费观看| 德国女人一级毛片免费| 久久久久久国产a免费观看黄色大片 | 亚洲一区无码精品色| 免费看a级黄色片| 毛片免费观看视频| 久久午夜免费视频| 无码人妻久久一区二区三区免费丨| 无码专区AAAAAA免费视频| 13小箩利洗澡无码视频网站免费 | 在线视频免费国产成人| 成年在线网站免费观看无广告| 日韩精品无码区免费专区| 可以免费看的卡一卡二| 无码视频免费一区二三区| 成全视频在线观看免费高清动漫视频下载| 国产成人精品免费视| 黄瓜视频影院在线观看免费| 日本妇人成熟免费中文字幕| 18禁无遮挡无码网站免费| 免费看美女被靠到爽的视频| 国产男女猛烈无遮挡免费网站| 免费国内精品久久久久影院| vvvv99日韩精品亚洲| 国产成人精品曰本亚洲79ren| 亚洲乱码日产一区三区| 亚洲三级电影网址|