Holzzz
2021-05-20 22:16
采纳率: 66.7%
浏览 38
已采纳

这个lambda表达式怎么解?

let x = (x=>(x => x * 9)(x)+3)(5)

     let y = y => (y => y *9)(y) + 3

 

     console.log(x)

     console.log(y(5))

 

结果是48

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 已采纳
    let x = (x=>(x => x * 9)(x)+3)(5);
    改成普通的函数是
    function f2(x) {
    	return x * 9;
    }
    function f1(x) {
    	return f2(x) + 3;
    }
    let x = f1(5)
    
    
    
    同样的
    let y = y => (y => y *9)(y) + 3
    改成普通的函数是
    function f2(y) {
    	return y * 9;
    }
    function y(y) {
    	return f2(y) + 3;
    }
    
    已采纳该答案
    评论
    解决 2 无用
    打赏 举报
  • 这是嵌套函数,你把箭头函数改成普通的函数就好理解了

    评论
    解决 无用
    打赏 举报
  • CSDN专家-张老师 2021-05-20 22:40
    // 转成下面普通函数就很好理解了
    let x = function (x) {
      return function (x) {
        return x * 9;
      }(x) + 3;
    }(5);
    
    let y = function (y) {
      return function (y) {
        return y * 9;
      }(y) + 3;
    };
    评论
    解决 无用
    打赏 举报
  • 有问必答小助手 2021-05-21 11:25

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题