【JavaScript】JavaScript基础(四)
JavaScript函数
函数的概念:
在JS里面,可能会定义分厂多的相同代码或者功能相似的代码,这些代码可能需要大量重复使用。虽然for循环语句也能实现一些简单的重复操作,但是比较具有局限性,此时我们就可以使用JS中的函数
函数:就是封装了一段可被重复调用执行的代码块,通过此代码可以实现大量代码的重复使用。
//函数使用分为两步:声明函数和调用函数//1、声明函数 function 函数名() { //函数体}//2、调用函数 函数名()
函数的封装
函数的封装是把一个或多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口
简单理解:封装类似于将电脑配件整合组装到机箱中,类似于打包快递
函数的参数
形参和实参
在声明函数时,可以在函数名称后面的小括号中添加一些参数,这些参数被称为形参,而在调用该函数时,同样也需要传递相应的参数,这些参数被称为实参。
参数 说明 形参 形式上的参数 函数定义的时候 传递的参数 当前并不知道是什么 实参 实际上的参数 函数调用的时候 传递的参数 实参是传递给形参的 function 函数名(形参1,形参2...) { // 在声明函数的小括号里是 形参 (形式上的参数) //函数体}//2、调用函数 函数名(实参1,实参2...) // 在函数调用的小括号里边的是实参 (实际的参数)//3、函数的参数可以有,也可以没有,不限个数
执行过程:
//aru = '酸辣土豆丝' 形参类似于一个变量function cook(aru){ console.log(aru)}//调用并将酸辣土豆丝赋值给arucook('酸辣土豆丝')
输出结果:
函数形参 实参个数匹配
//函数形参 实参个数匹配 function getSum(num, num1) { console.log(num + num1); } // 1.如果实参的个数和形参的个数一致 则正常输出结果 getSum(1, 2) // 2.如果实参的个数多于形参的个数 回取到形参的个数 getSum(1, 3, 4) // 3.如果实参的个数小于形参的个数 多余的形参定义为undefined 最终的结果为NaN // 形参可以看作是不用声明的变量 num2 是一个变量但是没有接收值 结果就是undefined getSum(1) //NaN // 建议 我们尽量让实参的个数和形参相匹配
输出结果:
函数的返回值
return
//函数返回值格式function 函数名() { return 需要返回的结果}函数名()//实际使用function getResult() { return 123}getResult()//此时打印出来getResult()值为123console.log(getResult())function cook(aru) { return aru}console.log(cook('Hello Word')) //return求两熟之和 function getsum(num1, num2) { return num1 + num2 } console.log(getsum(2, 3))
ruturn后的代码不会被执行
ruturn只能返回一个值,以最后的值为准,如果需要多个值,可以用数组的方式来返回多个组织
function getsum(num1, num2) { return [num1 + num2,num1 -num2,num1*num2,num1/num2] } console.log(getsum(4, 3))
执行结果:
break、continue、return的区别
- break:结束当前循环体(如for、while)
- continue:跳出本次循环,继续执行下次循环(如for、while)
- return:不仅可以退出循环,还能够返回return语句中的值,同时还可以结束当前的函数体内的代码
arguments的使用
当我们不确定有多少个参数传递的时候,可以用arguments来获取,在JavaScript中,arguments实际上它是当前函数的一个内置对象,所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。
arguments展示形式是一个伪数组,因此可以进行遍历,伪数组具有以下特点:
- 具有length属性
- 按索引方式存储数据
- 不具有数组push、pop等方法
function fn() { //里面存储了所有参数的实参 console.log(arguments) //获取arguments数组长度 console.log(arguments.length) //获取第三个下标的值 console.log(arguments[3]) } fn(1, 2, 3, 4, 5)