1. JS函数

1.函数简介

函数【function】,函数你可以理解为将某一个常用的功能进行封装。当你想使用这个功能的时候,可以选择调用、执行这个功能即可。

注意:JavaScript脚本语言当中,函数分为两种:一种关键字function定义函数、表达式形式函数 函数使用分为两部分:声明、调用
//声明部分functionfun(){....书写代码地方}//调用部分fun();
<script type="text/javascript">//声明部分functionfun(){//书写你封装功能性代码console.log("我是一枚大帅哥");console.log("虽然不是真的");}//调用部分fun();fun();fun();//函数在JS当中属于引用类型数据console.log(typeoffun);</script>
函数使用分为两部分:声明、调用 函数在JS当中属于Object引用类型数据,不是Function类型的【因为JS语言当中没有这个类型】 函数如果只是声明、但是没有调用。函数体里面代码不会自行的

2.形参与实参

在函数声明的时候,声明部分的小括号里面可以书写形参。
在函数调用的时候,调用时候传递数据称之为实参

<script type="text/javascript">//声明一个关键字形式函数functionadd(a,b){console.log(a,b);}//调用函数的时候add("小明","小白");</script>

注意:用户调用函数的时候,会将实参按照顺序依次赋值给形参。

实参数量可多于 / 少于形参,JS 不会报错(和 Java 强类型不同)

functiontest(x,y){console.log(x,y);}test(5);// x=5,y=undefined

实参多于形参(多余实参存放在 arguments 伪数组)

functiontest(x){console.log(arguments);// [1,2,3] 保存所有传入实参}test(1,2,3);

3.变量

变量:在JS当中变量分为两种:局部变量、全局变量

局部变量:在JS当中局部变量,只有两种情况:①作为函数形参 ②变量在函数体中声明

全局变量:除了局部变量以外的都是全局变量

4.return 关键字

4.1 基础作用
终止当前函数:执行到return,函数立刻停止,后面代码不再运行; 返回一个值:把结果交给函数调用处; 函数不写return,默认returnundefined。

示例 1:返回计算结果

functionadd(a,b){returna+b;// 返回两数之和}let res=add(3,5);console.log(res);// 8

示例 2:return 直接终止函数,后续代码不执行

functiontest(){console.log("执行前");return;// 函数终止console.log("不会执行");}test();
4.2 return 无返回值 → undefined
functionfn(){return;}console.log(fn());// undefinedfunctionfn2(){}console.log(fn2());// 不写return也是undefined
4.3 return 返回复杂数据(对象、数组)
functiongetUser(){// 返回对象return{name:"李四",age:20};}letuser=getUser();console.log(user.name);// 李四
4.4 函数内部提前 return 做拦截(常用校验)
functioncalc(num){// 拦截:非法数字直接返回,不往下计算if(typeofnum!=="number"){return"参数必须是数字";}returnnum*2;}console.log(calc("abc"));// 参数必须是数字console.log(calc(10));// 20