web前端教程之JavaScript学习笔记之递归函数-阿里云开发者社区

开发者社区> 好程序员> 正文

web前端教程之JavaScript学习笔记之递归函数

简介:
+关注继续查看

  好程序员web前端培训分享JavaScript学习笔记之递归函数,什么是递归函数在编程世界里面,递归就是一个自己调用自己的手段,递归函数: 一个函数内部,调用了自己,循环往复
// 下面这个代码就是一个最简单的递归函数// 在函数内部调用了自己,函数一执行,就调用自己一次,在调用再执行,循环往复,没有止尽function fn() {
fn()}fn()
其实递归函数和循环很类似
需要有初始化,自增,执行代码,条件判断的,不然就是一个没有尽头的递归函数,我们叫做 死递归
简单实现一个递归
我们先在用递归函数简单实现一个效果
需求: 求 1 至 5 的和
先算 1 + 2 得 3
再算 3 + 3 得 6
再算 6 + 4 得 10
再算 10 + 5 得 15
结束

开始书写,写递归函数先要写结束条件(为了避免出现 “死递归”)
function add(n) {
// 传递进来的是 1 // 当 n === 5 的时候要结束 if (n === 5) {

return 5

}}
add(1)
再写不满足条件的时候我们的递归处理
function add(n) {
// 传递进来的是 1 // 当 n === 5 的时候要结束 if (n === 5) {

return 5

} else {

// 不满足条件的时候,就是当前数字 + 比自己大 1 的数字    return n + add(n + 1)

}}add(1)
预习:提前了解一下对象
对象是一个复杂数据类型
其实说是复杂,但是没有很复杂,只不过是存储了一些基本数据类型的一个集合
var obj = {
num: 100,
str: 'hello world',
boo: true}
这里的 {} 和函数中的 {} 不一样
函数里面的是写代码的,而对象里面是写一些数据的
对象就是一个键值对的集合
{} 里面的每一个键都是一个成员
也就是说,我们可以把一些数据放在一个对象里面,那么他们就互不干扰了
其实就是我们准备一个房子,把我们想要的数据放进去,然后把房子的地址给到变量名,当我们需要某一个数据的时候,就可以根据变量名里面存储的地址找到对应的房子,然后去房子里面找到对应的数据
创建一个对象
字面量的方式创建一个对象
// 创建一个空对象var obj = {}
// 像对象中添加成员obj.name = 'Jack'obj.age = 18
内置构造函数的方式创建对象
// 创建一个空对象var obj = new Object()
// 向对象中添加成员obj.name = 'Rose'obj.age = 20
Object 是 js 内置给我们的构造函数,用于创建一个对象使用的

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
2020年,我们该如何学习 WEB 前端开发
每当想要开始学习,脑子里总会跳出一系列问题:WEB前端的学习先后顺序是什么?PC端必须要掌握哪些知识和框架?移动端要掌握哪些知识和框架?TypeScript和node.js是否为可学可不学?新手应该按照什么先后次第学习呢?本文是阿里巴巴淘系技术部高级前端工程师——小问的个人经验总结,希望帮到处于迷茫期的你!
2633 0
JavaScript学习(四)
一元运算符:只需要一个操作数。 + 正号:正号不会对我们的数值产生任何影响             - 负号:负号可以对数值进行负号取反 正负号都可以将数值类型转换成number,原理和number()函数一样。
600 0
Loadrunner中web_find和web_reg_find函数的使用与区别
总结一下Loadrunner中的检查点函数,主要介绍两个函数:web_find()和web_reg_find();这两个函数均用于内容的查找,但两者也有本质的区别,具体介绍如下:一、web_find()函数该函数的作用是“从HTML页面中查找指定的文本字符串”常用参数及含义如下: 1 web_...
860 0
JavaScript学习(八)
目录 对象分类: 1.内建对象: 2.宿主对象: 3.自定义对象: javascript内部对象 FileSystemObject对象 动态创建FileSystemObject对象 FileSystemObject对象的方法 In 运算符 JS数据类型 对象字面量 函数: 对象分类: 1.
827 0
JavaScript学习(九)
  对象访问语句 for...in循环语句 for...in循环语句和for循环语句十分相似,for...in语句用来遍历对象的每一个属性。
824 0
《算法设计编程实验:大学程序设计课程与竞赛训练教材》——3.3 积性函数的实验范例
本节书摘来自华章计算机《算法设计编程实验:大学程序设计课程与竞赛训练教材》一书中的第3章,第3.3节,作者:吴永辉,王建德著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1190 0
《JavaScript高级程序设计(第3版)》阅读笔记
第6章 面向对象的程序设计 6.2 创建对象 6.2.1 工厂模式 JavaScript创建对象(一)—— 工厂模式 6.
828 0
JavaScript学习(三)
强制类型转换(将一个数据类型强制转换为另一个数据类型) 在JS中如果需要写16进制的数字,需要以0x开头。8进制数字,需要以0开头。
747 0
+关注
326
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载