# JS中的函数

97 阅读2分钟

函数的概念

前端的函数, 与数学的函数, 完全是两个概念
可以粗暴的理解为 一个盒子
当一段需要多次使用的复杂代码段, 我们可以把它放在(抽离)一个盒子中(就是函数)
在需要使用的地方去调用即可

函数的定义

  • 声明式定义 function 函数名() {}
  • 赋值式定义 var fn = function () {}

函数的调用

函数的定义分两种方式, 调用 只有 1 种
语法: 函数名()

声明式与赋值式的区别

1. 书写方式不同
2. 调用方式不同
    赋值式定义, 不能再定义前 调用函数, 声明式可以

函数的预解析

在 浏览器读 JS 代码的时候 有一个 预解析, 此时会有一个变量提升
还会做一件事; 函数的声明提升(值也跟着上去)
什么是变量提升
    在预解析时, 将 JS 内部的 变量 全部提升到 当前作用域顶端(当前代码的最上边)
    变量提升的时候, 值不会到最顶端, 可以理解为, 把声明变量提升到最顶端, 但是没赋值

函数的参数

 为什么要有 参数?
     如果 没有 参数, 那么函数的功能 相对单一, 不够灵活
     函数的参数 他的 作用 ---> 能够让函数的功能更加灵活, 更方便在多个地方调用 
     参数也可以让我们的函数更具有 差异性
    
     参数语法
         1. 形参     --->    function或者函数名后的 小括号
         2. 实参     --->    函数调用时的 小括号中
    
     参数的作用
         1. 形参
                 每书写一个形参, 就相当于在函数内部创建一个变量, 形参的值 是由 实参传递进来的
         2. 实参
                 按照书写顺序 一一对应, 传递给形参

函数的参数默认值

函数参数的默认值
     创建形参的时候, 直接赋值
        如果传递对应实参, 按照实参的值
        如果没有传递对应实参, 按照默认值

函数的返回值

函数的返回值 每一个函数都有返回值, 不管是否写了返回值 每个函数 默认都会有返回值 ---> 默认返回 undefined 如果我们自己手写了 返回值, 那么就不会返回默认值了, 返回的是 我们书写的

 函数返回值书写语法
    return 要返回的内容

 注意点:
     函数的返回值具有中断函数的功能, 所以我们手写返回值需要放在最后