javascript - 求帮看看这个函数的运行原理!
大家讲道理
大家讲道理 2017-04-11 13:08:38
[JavaScript讨论组]
            function add(x) {
                var sum = x;
                var tmp = function (y) {
                    sum = sum + y;
                            return tmp;
                        };
               tmp.toString = function () {
                    return sum;
                    };
                    return tmp;
                }
            alert(add(1)(2)(3));  //6
            alert(add(1)(2)(3)(4));   //10

不明白每次调用完都要运行toString,求高手分析下!

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
PHP中文网

info,alert等内部会调用toString函数
tmp重写toString函数:

    console.info(add(1)+"");// ---> 1

tmp未重写toString函数:

    console.info(add(1)+"");// ---> function (y) { sum = sum + y; return tmp;}
迷茫

每次返回都是一个函数,alert调用了toString方法,重写该方法以获得sum值,不重写的话会输出匿名函数

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号