国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js實現類似于add(1)(2)(3)調用方式的方法

2019-11-20 13:00:51
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

var add = function(a){
    return function(b){
        return function(c){
            return a+b+c;
        };
    };
};
add(1)(2)(3); //6

沒錯!那要是add(1)(2)(3)(4) 這樣4個調用呢,那這個肯定不適用了。

這種就是類似于執行一個函數返回函數自身值:

復制代碼 代碼如下:

function add(x) {
    var sum = x;
    var tmp = function (y) {
        sum = sum + y;
        return tmp;
    };
    tmp.toString = function () {
        return sum;
    };
    return tmp;
}
console.log(add(1)(2)(3));  //6
console.log(add(1)(2)(3)(4));   //10

但是在計算完成后還是返回了tmp這個函數,這樣就獲取不到計算的結果了,我們需要的結果是一個計算的數字那么怎么辦呢,首先要知道JavaScript中,打印和相加計算,會分別調用toString或valueOf函數,所以我們重寫tmp的toString和valueOf方法,返回sum的值;

以上就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蒙自县| 岳池县| 徐闻县| 会泽县| 龙山县| 红安县| 郁南县| 鄂托克旗| 洪泽县| 麻江县| 岐山县| 宕昌县| 太湖县| 兴化市| 黄山市| 昌都县| 南召县| 辉南县| 余庆县| 呼伦贝尔市| 延寿县| 保山市| 镇宁| 乳源| 娱乐| 溧水县| 怀仁县| 专栏| 叶城县| 泾源县| 宁南县| 平邑县| 五大连池市| 昭觉县| 兖州市| 长丰县| 定边县| 吴旗县| 荃湾区| 隆林| 井研县|