Day03 函数+ 数组

函数概述

函数相当于一个代码空间,他里面可以存储一些代码片段,一般我们会将一些功能性代码抽取放入到函

数内,这样的操作就是封装。核心就是利用函数来减少冗余代码的出现,形成对应的复用

函数的分类

  • 系统函数 (系统本身就写好的 你只需要调用 console.log() 属于全局窗口的 window)

  • 内置函数 (对象内部提供的 Math.pow )

  • 自定义函数 (由自己定义的函数)

函数的定义

使用function关键来定义

定义的方式有三种

  • 匿名函数 (没有名字的函数 无法被复用的)

  • 具名函数 (有名字的函数 必须调用才会执行 具备复用性)

  • 使用对象构建的形式 (new关键来构建)

函数的参数

  • 没有实际的参数叫形参 用于定义 (随便写)

  • 有实际值得参数叫实参 用于传递

return关键词

return 是用于在函数中返回对应的结果的,默认情况下函数return undefined。当return完那么对应

的函数执行就结束了

总结

  • break 跳出循环和switch 不会结束function

  • continue 只能用于循环中 跳过本次循环 进入下次

  • return 结束整个函数 返回对应的数据 (放在最后)

  • throw new Error 结束整个程序

arguments

arguments是一个参数列表,参数列表其实是一个伪数组(伪装的数组 有数组的一些特性 但是不是数组

(不具备数组的方法))。他可以用于获取所有的参数(传递的参数)

arguments的属性及方法

  • length属性 用于获取对应的传入参数个数

  • callee 方法 指向当前的函数

arguments访问对应的参数使用下标访问

  • 下标从0开始 到 arguments.length-1结束

  • 0表示是第一个参数 那么5表示第六个参数 x表示x+1个参数

  • 省略对应的形参 直接传入实参 在函数中使用arguments来接收的对应的实参

作用域及作用域链

作用域概述

一个变量的作用范围称为作用域,作用域主要划分为全局作用域(全局可用),局部作用域(局部可用

又为函数作用域

在全局中不能访问局部作用域的变量

注意

  • var 关键词会进行变量提升

  • 只要是在function中使用var关键词声明那么这个变量就是局部变量 那么在这个里面使用到所有这

  • 个变量都是指向这个局部变量

  • 如果在function中没有使用var关键词声明那么这个变量就是全局变量

作用域链

作用域链就是逐层向上查找对应的作用域(变量声明)形成的链子,如果没有找到那么就会报错。

递归 (Ologn)

  • 递归是一个算法,算术其实就是固定的套路,递归算法是为了降低时间复杂度提高效率所设计的算法,

  • 他可以完成所有循环可以做的事情。

递归的用途 (可以在不知道层级的情况下走到底)

  • 文件目录遍历

  • DFS查找

  • 多级对象分析合并

  • 深拷贝

  • ...

递归的流程

  • 初始值 (不变的值)

  • 规律

  • 自己调自己

数组

数据结构

数据结构主要是数据的一个存储和逻辑结构的体现。只要能存储数据的一个结构我们就称为数据结构。

数组

数组是一种线性的数据结构,他可以存储对应的数据,一般通过对应的索引下标进行数据的访问。在一

般情况下我们在数组里面存储的数据类型是一致的。(数组也可以存储不同数据类型的数据)

数组的定义

  • 使用 [ ] 赋值来定义

  • 使用new关键词来定义

数组的特性

  • 数组具备下标 可以通过下标来访问和赋值操作

  • 数组具备length属性 length重新修改是可行(改大会进行扩容操作 改小会进行删除操作)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值