15、函数基础知识(全)
2024-02-27 11:16:58 0 举报
AI智能生成
该文档详细介绍了函数的基础知识,包括函数定义、参数、返回值、作用域等概念,以及如何在各种编程语言中应用函数。通过理解函数的工作原理和使用方法,可以更高效地编写代码和解决实际问题。同时,还讲解了如何通过函数调用、嵌套和递归等方式实现函数间的交互和功能扩展。掌握了函数基础知识后,将能够更好地设计、组织和维护代码,提高编程效率和质量。
作者其他创作
大纲/内容
定义
一个处理事情的方法
作用
函数的意义在于封装
1、把实现某一个功能的代码封装在一起
2、后期想实现这个功能,只需要执行函数即可,
3、不需要重新编写这些代码了
目的
减少页面中冗余代码,提高代码重复利用率
“低耦合,高内聚”
函数的两部分
1、创建函数
语法
function 函数名(形参){...}
过程
1、创建值
1、开辟一个堆内存
2、把函数体中的代码当作字符串储存在堆中
3、把堆地址放到栈中
2、创建变量
3、让变量和地址关联
注意
只创建函数,其实就是创建了一个存储一堆字符串的堆而已,并没有实际作用
2、执行函数
语法
函数名(实参)
目的
把创建的函数执行(把函数体中的代码执行)
依赖条件
栈内存
供代码执行的上下文
过程
函数每一次执行
1、创建一个全新的执行上下文,把执行上下文压缩到栈内存中去执行(进栈执行)
2、在这个上下文中,也存在一个AO(变量对象),用来存储当前上下文代码执行中所创建的变量
这些变量是“私有变量”
除当前上下文中可以使用这些变量的值,上下文以外的环境不能直接使用私有变量的值
...
3、代码执行
...
4、当上下文中的代码都执行完后,如果该上下文中的信息没有被外界占用的情况,则执行完出栈
释放掉(以减少栈内存中的空间)
参数形式
形参
创建函数的时候,我们并不清楚需要处理的数据是什么,只有当函数执行的时候,我们才会知道,此时我们需要定义相应的入口
入口在JS函数中被称为形参,“用来存储执行函数时,传递进来的信息的”
所以形参是变量
实参
函数执行的时候,传递进来的值会赋值给形参变量
传递的具体值在JS函数中被称为实参,“实参就是具体传递的值”
形参与实参关系
1、设定形参变量,但是执行的时候没有传递对应的值,则形参默认值是undefined
2、形参只有两个,实参有三个时,第三个实参并没有对应的形参接收(但是传递给函数了)
注意
形参是创建函数时候设定的变量
形参是变量
实参是执行函数时候给形参传递的具体值
实参是值
sum(1 === 1? "OK":"NO")
需要先把三元运算的结果作为实参传递给形参
=================================================我是分割线================================================
arguments
定义
函数内置的实参集合
不管我们时候设置形参,或者是否传递了实参,arguments 始终都会存在
(ES6箭头函数中没有arguments)
只能出现在函数体中
形式
arguments 是一个类数组集合
类似数组,但不是数组,和元素集合 HTMLCollection 类似
原理
根据索引记录了每一个传递进来的实参信息
和是否定义形参变量没有关系
arguments 中包含了所有传递进来的实参信息
length 属性代表传递实参的个数
ES6中的剩余运算符
语法
...args
args为随便起的变量名
定义
把传递进来的实参信息,都以数组的形式保存到args变量中
使用
如果不想在剩余参数中收集所有参数,则可以组合常规参数和剩余参数。
一个常规参数,它获取第一个参数的值。然后剩下的参数 ...args 接收剩余的参数。
剩余参数和 arguments对象的区别
1、剩余参数只包含那些没有对应形参的实参,而 arguments 对象包含了传给函数的所有实参。
2、arguments对象不是一个真正的数组,而剩余参数是真正的 Array实例
返回值 return
上面说了,函数中的变量为私有变量
除当前上下文中可以使用这些变量的值,上下文以外的环境不能直接使用私有变量的值
产生
如果,外面想用当前上下文中的一些私有信息,则需要函数提供对应的出口,把信息提供给外面使用,而这个出口在JS函数中被称为“返回值 return”
作用
1、基于 return 把变量的值暴露给外面使用
在外边创建一个变量,用来接收函数执行返回的值(也就是 return 后面的值)
2、告知函数体中下面代码不在执行
注意
return 后面放的一定是变量
例如
console.log(sum)
这里输出的是 sum 函数本身
sum = 函数
console,log (sum())
代表让函数执行
这里输出的是函数的返回值
如果函数中没有写 return ,默认的返回值是 undefined
函数表达形式
实名函数
有函数名的
匿名函数
1、函数表达式
把一个函数当作值赋值给变量
事件绑定
2、自执行函数
函数创建完就立即执行了
语法规范
(function(n){...})(实参)
+ function(n){...}(实参)
- function(n){...}(实参)
~ function(n){...}(实参)
! function(n){...}(实参)
箭头函数
let func = (x,y) => {...};
0 条评论
下一页