函数上

124 阅读2分钟

函数介绍

函数概念

将任意代码封装起来,需要用的时候进行调用执行

语法

    //函数定义
    function 函数名(){
    函数体/封装的代码
    }
    //函数调用语句
    函数名()

image.png

函数参数

形参

  • 在函数内部可以使用的变量,函数外部不能使用
  • 形参的值是在函数调用的时候由实参决定

实参

  • 在函数调用的时候给形参赋值
  • 给的是实际内容,多个参数一一对应

image.png

传参过程

  1. 函数调用时,根据函数名找到函数体
  2. 将实参对应形参传递给函数,执行函数体
  3. 执行完函数体之后,返回函数调用处,继续执行后续代码

参数个数

  • 形参与实参一一对应
  • 形参比实参多:没有匹配到的形参undefined
  • 形参比实参少:多的实参无法被传递

参数默认值

语法:

function 函数(形参1,形参2){
    var 形参1=形参1||默认值
    var 形参1=形参2||默认值
}

函数返回值

  1. 中断函数:return关键字使函数可以在中部停掉,
  2. 返回值:给函数执行完毕一个结果,返回一个值

函数类型

  1. 无参无返回值
function 函数(){
    函数体
    }
  1. 无参有返回值
function 函数(){
    函数体
    return 值
    }
  1. 有参无返回值
function 函数(形参){
    函数体
    }
  1. 有参有返回值
function 函数(形参){
    函数体
     return 值
    }

函数的优点

  1. 封装代码,使代码更简洁
  2. 复用,想使用的时候调用就可以
  3. 执行时机,在想使用的时候就可以调用

函数的定义方式

  1. 声明式函数定义
    function 函数名(){
        函数体
        return 值
      }
  1. 赋值式函数定义
   var 函数名=function(){
        函数体
        return 值
      }

预解析

js预解析代码执行

  • 声明式函数:在内存中声明一个变量名,并且这个变量名代表一个函数
  • 赋值式函数:在内存中声明一个函数名

同名函数和变量名

函数名与变量名同名,函数优先

if语句不管条件是否成立都会预解析

return之后的语句也会预解析

案例

百元买百鸡

image.png