JavaScript语言的递归编程
2023-06-13 09:14:18 时间
题目:从1累加一直加到100的和是多少?
非递归的循环写法:
复制代码代码如下:
非递归的循环写法:
1run:function(){
2varsum=0;
3for(vari=1;i<=100;i++){
4sum=sum+i;
5}
6console.log(sum);
7}
递归的写法:
vartestCase={
sum:0,
run:function(n){
if(n>=100){
return100;
}
else{
sum=n+testCase.run(n+1);
returnsum;
}
}
};
console.log(testCase.run(1));
上面这种代码在网上一搜就一大堆,下面的写法与它等价:
console.log((function(n){
varsum=0;
if(n<=1){
return1;
}
else{
sum=arguments.callee(n-1)+n;
returnsum;
}
})(100));
这样的写法便于学习。以上是线性递归,作为递归入门的话还行,算法的性能效率就烂了些,不作考虑。
相关文章
- 实现JavaScript语言解释器(一)
- javascript_JavaScript走向成熟
- 【说站】javascript函数和对象的关系
- Javascript-判断是否为数组的5种方法
- 下一代前端语言之争,JavaScript 要被新语言反超?
- JavaScript是OOP语言吗详解编程语言
- java和JAVASCRIPT语言的本性区别详解编程语言
- javascript JSMpeg.js 播放视频解决不用全屏也能播放(也支持自动播放哦)详解编程语言
- javascript编程必备_JS语法字典
- javascript输入框提示列表效果
- 说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
- JavaScript设计模式富有表现力的Javascript(一)
- javascript上下左右定时滚动插件
- javascript宝宝出生倒计时实现代码
- JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染
- javascript语言结构小记(一)
- 扩展JavaScript功能的正确方法(译文)
- javascript保存文件到本地实现方法
- JavaScript语言基础知识点总结(思维导图)
- 探讨javascript是不是面向对象的语言
- javascript轻松实现当鼠标移开时已弹出子菜单自动消失
- Javascript单元测试框架QUnitjs详细介绍
- java变量和javascript变量之间的传递示例
- Javascript基础教程之JavaScript语法
- JavaScript监听和禁用浏览器回车事件实例