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 内置给我们的构造函数,用于创建一个对象使用的

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
好程序员web前端培训分享JavaScript学习笔记之数组
好程序员web前端培训分享JavaScript学习笔记之数组,什么是数组?字面理解就是数字的组合,其实不太准确,准确的来说数组是一个数据的集合,也就是我们把一些数据放在一个盒子里面,按照顺序排好[1, 2, 3, 'hello', true, false],这个东西就是一个数组,存储着一些数据的集合数据类型分类number/string/boolean/undefined/null/object/function/array/ ...数组也是数据类型中的一种我们简单的把所有数据类型分为两个大类基本数据类型和复杂数据类型基本数据类型:number/string/boolean/undefined/null复杂数据类型:object/function/array/ ...创建一个数组数组就是一个[]在[]里面存储着各种各样的数据,按照顺序依次排好字面量创建一个数组直接使用[]的方式创建一个数组// 创建一个空数组var arr1 = []// 创建一个有内容的数组var arr2 = [1, 2, 3]内置构造函数创建数组使用 js 的内置构造函数Array创建一个数组/...
- 下一篇
读博还是找工作?数据科学家之路该怎么走?
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 很多人对于数据科学领域充满热情,但同时也有着很多困惑不知该如何下手。Python还是R语言?多学还是少学数学?要不要攻读博士?如何获得该领域的第一份工作? 这样的问题,笔者看到过很多。笔者不是职业咨询方面的专家,但基于对该领域的观察和多年来积累的经验,希望能给年轻人们一些建议。 1.学习机器学习的好资源有哪些? 笔者很喜欢安德鲁的“机器学习Coursera”课程。该课程入门时很容易,之后难度递增。它主要教授机器学习的基础知识,这是它的优点。 笔者建议各位至少去听一下前几节课。不能完全听懂也没有关系,以后随时可以重新观看课程。当然啦,不要只关注一门课程,大家的学习情况各不相同,根据自身情况来选择。 2.对于几乎没有任何技术背景的人来说,什么是最好的学习方法? 不要一个人学习! 寻找并加入网络社区将有助于各位的学习和成长。可以用Excel练习机器学习,试试线性回归吧。用它作为首次挑战,将会激发学习者的学习动力。 3.学习和实践数据科学的最佳方法是什么? 笔者建议从实际项目入手,然后在理论上慢...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2整合Thymeleaf,官方推荐html解决方案