js的鏈式調用


最近看到一個有關於js鏈式調用的問題,形如add(1)(2)(3)=6,研究了一下在此講述

我們先來寫一個簡單的鏈式調用:

function add(x){

var sum=x;

function tem(y){

sum=sum+y;

return tem;

}

tem.toString=function(){

return sum;

}

return tem;

}

一個簡單的鏈式調用函數到此完成,現在讓我們來分析一下這個函數。

在外部調用add(1)(2)(3),此時會將第一個參數1傳遞給函數add即add(1),

進入到add函數內部,將x賦值給sum,然后繼續執行,聲明函數tem此時並未執行,

進入return語句,返回tem函數,此時調用tem函數,並將參數2傳遞給tem,該函數繼續

返回tem函數本身,tem函數再次被調用並將參數3傳遞,直到沒有參數可傳遞,結束函數執行,因為每次

返回的為一個函數,所以要用tostring方法,此方法返回對象的字符串形式。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM