请教js回调函数的机制

wo52616111 2015-08-01 09:38:50

(function (callback) { //func1
alert("1");
callback();
})(
(function (callback) { //func2
alert("2");
callback();
})(function () { //func3
alert("3");
})
);

为什么不是123而是231
...全文
77 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2015-08-01
  • 打赏
  • 举报
回复
func2 运行的结果是 func1 的参数 func3 是 func2 的参数,在 func2 内调用 所以执行的结果是 2 3 1
似梦飞花 2015-08-01
  • 打赏
  • 举报
回复
从后往前执行阿 func2是自执行函数所以执行 2 之后执行传入的3 最后是1 之后1的callback因为func2没返回东西 所以报错

(function (callback) {                 //func1
        alert("1");
        callback();
    })(
                    (function (callback) {    //func2
                        alert("2");
                        callback();
                        return function(){
                            alert(0)
                        }
                    })(function () {                //func3
                        alert("3");
                    })
            );
相关推荐
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2015-08-01 09:38
社区公告
暂无公告