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

使用 Es5 和 Es6 的闭包

使用 Es5 和 Es6 的闭包

慕工程0101907 2022-01-07 10:47:31
var add = function add(x, z) {  if (z == undefined) {    return function(y) {      return x + y;    }  } else {    return x + z  }}当我用箭头函数编写代码不起作用时,上面的代码运行良好var add = add(x, z) => {  if (z == undefined) {    return (y) => {      return x + y;    }  } else {    return x + z  }}
查看完整描述

3 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

只是语法错误,因为箭头函数应该像这里一样声明

替换add(x, z) =>(x, z) =>


查看完整回答
反对 回复 2022-01-07
?
MMTTMM

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

请删除 add 关键字,尝试使用 const 并 let declaratio 因为它们是块作用域,使用 var 分配不必要的内存,并在 JS 中托管变量


const add = (x, z) => {

  if (z == undefined) {

    return (y) => {

      return x + y;

    }

  } else {

    return x + z

  }

}


查看完整回答
反对 回复 2022-01-07
?
茅侃侃

TA贡献1842条经验 获得超22个赞

只是语法错误。玩得开心。


var add = (x, z) => {

  if (z == undefined) {

    return (y) => {

      return x + y;

    }

  } else {

    return x + z;

  }

}


查看完整回答
反对 回复 2022-01-07
  • 3 回答
  • 0 关注
  • 251 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号