千家信息网

js递归函数调用本函数的方式是什么

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章主要讲解了"js递归函数调用本函数的方式是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"js递归函数调用本函数的方式是什么"吧!通常jav
千家信息网最后更新 2025年01月24日js递归函数调用本函数的方式是什么

这篇文章主要讲解了"js递归函数调用本函数的方式是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"js递归函数调用本函数的方式是什么"吧!

  通常javascript代码可以与HTML标签一起直接放在前端页面中,但如果JS代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿,因此需要知道js函数的递归调用方法。

  js函数的递归调用方法

  1.通过函数自身名字递归调用

  复制代码

  functionsum(num){

  if(num<=1){

  return1;

  }else{

  returnnum+sum(num-1);

  }

  }

  console.log(sum(5));//15

  复制代码

  这种通过函数名字调用自身的方式存在一个问题:函数的名字是一个指向函数对象的指针,如果我们把函数的名字与函数对象本身的指向关系断开,这种方式运行时将出现错误。

  2.通过arguments.callee调用函数自身

  复制代码

  functionsum(num){

  if(num<=1){

  return1;

  }else{

  returnnum+arguments.callee(num-1);

  }

  }

  console.log(sum(5));//15

  varsumAnother=sum;

  console.log(sumAnother(5));//15

  sum=null;

  console.log(sumAnother(5));//15

  复制代码

  这种方式很好的解决了函数名指向变更时导致递归调用时找不到自身的问题。但是这种方式也不是很完美,因为在严格模式下是禁止使用arguments.callee的。

  js递归函数怎么自己调用自己

  点击

  

  

  functionsetNum(i){

  if(i>2){

  i--;

  returnsetNum(i);

  }else{

  returni;

  }

  }

  $("#_div").click(function(){

  varm=setNum(6);

  $("#_div").html("点击"+m);

  })

  

感谢各位的阅读,以上就是"js递归函数调用本函数的方式是什么"的内容了,经过本文的学习后,相信大家对js递归函数调用本函数的方式是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0