菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题:
函数 闫鹏波 20230227
[打印本页]
作者:
mx60075
时间:
2023-2-28 23:46
标题:
函数 闫鹏波 20230227
JS函数
函数的概念
在JS中,我们可能会定义非常多的功能相同的代码,虽然for循环也能实现一些简单的重复操作,但是很有局限性,所以要用到JS中的函数
函数:就是封装了一段可以被重复调用执行的代码块。
函数的使用
声明函数
声明的语法
function是声明函数的关键字,必须要小写
因为函数一般都是为了实现某一个功能的,所以通常函数名应该是动词,比如getSum。
调用函数
注意点:
1、调用函数时,要在函数名后加小括号
2、函数不调用不执行(声明函数本身并不会执行代码,只有调用时才会执行)
函数的封装
概念
函数的封装是将一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的入口(函数接口)。
函数的参数
形参和实参
形参:就是形式上的参数,函数定义的时候,传递的参数,但是在定义的时候,形参的值是不确定的。
实参:实际上的参数,函数调用的时候传递的参数,实参的值是传递给形参的。
参数的作用:在函数内部某些值不确定,我们可以通过参数在调用函数时进行传递。
基本语法
形参和实参的匹配问题
总结
1、函数可以带参数,也可以不带参数
2、函数声明的时候括号里的是形参,形参的默认值是undefined
3、调用函数的时候,括号里的是实参
4、定义多个参数的时候要用逗号隔开
5、形参的个数尽量和实参匹配,如果不匹配会出现无法预料的结果
函数的返回值
return语句
有时候我们希望函数将值返回给调用者,可以使用return来实现。
注意点
如果函数没有return,最终的返回结果是undefined
return会终止函数,不会执行return后面的代码,并且会将return后的值返回给函数
return只能返回一个值,如果返回的多个值用逗号隔开,就以最后一个值为准。
如果要返回多个值,那么就将这些值放在一个数组中一次性返回
arguments的使用
概念
当我们不确定有多少个参数传递的时候 ,可以使用arguments来获取,它实际上是一个内置对象,所有的函数都内置一个arguments对象,它存储了传递的所有实参。
arguments展示形式是一个伪数组,因为是可以进行遍历的。具有以下特点:
具有length属性
可以按照索引的方式获取或者存储数据
不具有数组的push、pop等方法
函数之间的调用
函数的自调用
函数的递归调用
函数的声明方式
命名函数
function fn() {// 函数体}
因为这个函数有名字,所以叫做命名函数
调用函数的代码可以放到声明函数的前面,也可以放到声明函数的后面
匿名函数
var fn = function() {// 函数体};
因为函数没有名字,所以被叫做匿名函数
fn是变量名,里面存放了一个函数
函数调用必须要写到函数体后面
变量的作用域
全局变量
在全局中都可以使用,如果在函数中只给变量赋值而没有声明,那么这个变量就是全局变量
局部变量
局部变量只能在函数内部进行使用,外部不能用
作用域链
当有多个变量名相同时,采用就近原则,选择距离最近的变量进行使用。
JS的预解析
JS引擎运行代码分为两步
1、JS预解析
2、从上到下顺序执行
JS引擎会将JS里面所有的var 还有function提升到当前作用域的最前面
变量预解析:只提升变量的声明到当前作用域的最前面,不提升赋值操作
函数的预解析:将所有的函数声明提升到当前作用域的最前面,但是不进行调用操作。
特例:匿名函数的解析
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/)
Powered by Discuz! X3.4