当前位置: 首页 > 生活问答 > 生活资讯 > JS实现递归的3种方法

JS实现递归的3种方法

网站编辑:上海建站网 发布时间:2022-04-19  点击数:
导读:操作步骤/方法1通过函数自身名字递归调用2functionsum(num){if(num<=1){return1;}else{returnnum+sum(num-1);}}3这种通过函数名字调用自身的方式存在一个问题:函数的名字是一个指向函数对象的指针,如果我们把函数的名字与函数对象本身的指向关系断开,这种方式运行时将出现错误。4通过arguments.callee调用函数自身5functi...
JS实现递归的3种方法

操作步骤/方法

1 通过函数自身名字递归调用 2 functionsum(num){if(num<=1){return1;}else{returnnum+sum(num-1);}} 3 这种通过函数名字调用自身的方式存在一个问题:函数的名字是一个指向函数对象的指针,如果我们把函数的名字与函数对象本身的指向关系断开,这种方式运行时将出现错误。 4 通过arguments.callee调用函数自身 5 functionsum(num){if(num<=1){return1;}else{returnnum+arguments.callee(num-1);}}console.log(sum(5));//15varsumAnother=sum;console.log(sumAnother(5));//15sum=null;console.log(sumAnother(5));//15 6 这种方式很好的解决了函数名指向变更时导致递归调用时找不到自身的问题。但是这种方式也不是很完美,因为在严格模式下是禁止使用arguments.callee的。 7 通过函数命名表达式来实现arguments.callee的效果。 8 varsum=(function(){'usestrict'returnfunctionfun(num){if(num<=1){return1;}else{returnnum+fun(num-1);}}})()console.log(sum(5));//15varsumAnother=sum;console.log(sumAnother(5));//15sum=null;console.log(sumAnother(5));//15 END

  以上就是小编为大家介绍的JS实现递归的3种方法的全部内容,如果大家还对相关的内容感兴趣,请持续关注上海建站网!

  标签:
内容声明:网站所展示的内容均由第三方用户投稿提供,内容的真实性、准确性和合法性均由发布用户负责。上海建站网对此不承担任何相关连带责任。上海建站网遵循相关法律法规严格审核相关关内容,如您发现页面有任何违法或侵权信息,欢迎向网站举报并提供有效线索,我们将认真核查、及时处理。感谢您的参与和支持!
浏览此文的人还看过
win10系统360杀毒怎么卸
win10系统360杀毒怎么卸

详情:操作步骤/方法1鼠标右键点击桌面“此电脑”在打开的菜单中点击......

怎么修改桌面文件夹图标!
怎么修改桌面文件夹图标!

详情:操作步骤/方法【方法1】11.首先,选择一个“文件夹”。22......

声卡驱动装好了,为什么还是没有
声卡驱动装好了,为什么还是没有

详情:操作步骤/方法1右键点击任务栏上的“音量”图标。2点击【打开......

QQ如何设置自定义背景图片
QQ如何设置自定义背景图片

详情:操作步骤/方法1第一步:打开手机QQ,点击左上角的头像。2第......

相关网站

  • 北京墓地
  • 成都墓地
  • 长城华人怀思堂
  • 清东陵万佛园
  • 九里山二区公墓
  • 施孝园
  • 华夏陵园
  • 中华永久陵园
  • 珍珠源公墓
  • 灵山宝塔陵园
  • 长城华人怀思堂
  • 清东陵万佛园
  • 九里山二区公墓
  • 施孝园
  • 华夏陵园
  • 中华永久陵园
  • 珍珠源公墓
  • 灵山宝塔陵园
  • 长城华人怀思堂
  • 清东陵万佛园
  • 九里山二区公墓
  • 施孝园
  • 华夏陵园
  • 中华永久陵园
  • 珍珠源公墓
  • 灵山宝塔陵园
  • 真武山公墓
  • 大朗陵园
  • 北京墓地
  • 成都墓地
  • 院山公墓
  • 卧龙寺
  • 长松寺
  • 凤凰陵园
  • 白塔山公墓
  • 宝光塔陵公墓
  • 红枫艺术陵园
  • 金沙陵园
  • 金土坡公墓
  • 燃灯寺
  • 莲花公墓
  • 真武山公墓
  • 大朗陵园
  • 院山公墓
  • 卧龙寺
  • 长松寺
  • 凤凰陵园
  • 白塔山公墓
  • 宝光塔陵公墓
  • 红枫艺术陵园
  • 金沙陵园
  • 北京墓地
  • 成都墓地
  • 金土坡公墓
  • 燃灯寺
  • 莲花公墓