> 文档中心 > 【JavaScript】JavaScript基础(四)

【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)