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