JS 链式调用问题


请大佬帮忙解释一下,执行顺序
是将add(10)指向了一个新函数吗,相当于temp(2)(4)(1),请大佬帮忙解答一下,谢谢了

阅读 1.4k
2 个回答

由于作用域的关系,就是楼上说的,每次调用add都返回了一个新的temp,而不是同一个temp执行3次,实质上这个写法叫递归,只是他写的比较难懂而已,和一般说的链式调用没关系。

其实更多的情况来说,链式调用是一种“写代码的格式”而不是功能。例如var a = -5.385; var b = Math.abs(a); var c = b.toFixed(2); console.log(c);也可以写成var c = Math.abs(-5.385).toFixed(2)。简单的也就罢了,复杂的链式写法是bug的重灾区,对于代码质量把控并不是好事。

你听没听明白我不知道,但是我知道截图这样写代码会挨抽。

不能讲指向,是返回了一个新函数

add(10)返回temp1,执行temp1(2),temp执行add(2)返回temp2,执行temp2(4),temp执行add(4)返回temp3,执行temp3(1),temp执行add(1)返回temp4,打印运行temp.toString

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题