为了账号安全,请及时绑定邮箱和手机立即绑定

如何避免错误 - function-name(...) 不是测验中的函数?

如何避免错误 - function-name(...) 不是测验中的函数?

智慧大石 2022-10-13 17:16:13
我想通过 codewars 的测验 - https://www.codewars.com/kata/53cf7e37e9876c35a60002c9/train/javascript,但我无法避免通过错误:“TypeError: add(...) is not a function”function curryPartial(){  let args= [...arguments]  let fn = args[0]  console.log(fn.length)  function cur(){    let argsCur= [...arguments]    return curryPartial(...args,...argsCur)  }  cur.valueOf = ()=>{    //return args.reduce((a,b)=>a+b)    // console.log(...args)    // const res = +fn(...args.slice(1))    // return res  }  return cur}function add(a, b, c) {  return a + b + c;}console.log(+curryPartial(add(1,2)(3)))如何避免此错误以通过测验?
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

那是关于add(1,2)(3)

因为你得到错误,add函数返回一个值,通过这样做add(1,2)(3)你正在执行返回值add(1,2)并传递 a 3,这不是一个函数,所以错误已经被提出。

执行语句应该是

console.log(+curryPartial(add)(1,2)(3))
// not
console.log(+curryPartial(add(1,2)(3)))


查看完整回答
反对 回复 2022-10-13
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信