猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
高阶函数实现 AOP 问题
书中有一段这样的代码
我理解的执行过程是这样的
实际输出是这样的
所以我不明白的是为什么只输出了一个2
__self.apply(this, arguments)
这一句应该是执行了2次才对
SMILET
浏览 451
回答 1
1回答
慕沐林林
var func = function() { console.log(2);}func = func.before(function() { console.log(1);})此时 func 为 beforefn.apply(this, arguments);//console.log(1) return __self.apply(this, arguments);//console.log(2)func = func.after(function() { console.log(3)})此时func 为 __self.apply(this, arguments); 重点来了! 这里的self也就是this 指向的是上方的 第一个func, 也就是 console出 1 和 2 的函数 afterfn.apply(this, arguments);//console.log(3)最终的func是最后return出来的函数,只会执行一次哦。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
JavaScript
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续