初识函数 跟我一起学 学会省1000

115 阅读2分钟
  1. 什么是函数?

首先排除 不是数学中的函数
函数 可以理解为一个盒子
为什么要有函数, 函数功能是什么?
帮我们把项目中多个 地方使用到的功能(代码段), 抽离出来(就把他拿到那个小盒子, 就不需要在多个地方书 写重复的功能)然后在需要的地方 调用函数即可

  1. 一个完整的函数分为两部分 (1)定义阶段 (2)调用阶段

  2. 函数的定义
    两种定义函数的方式
    (1) 赋值式定义 var fn = function () {}
    (2) 声明式定义 function 函数名() {}

  3. 函数的调用
    不管函数是如何定义的,调用方法永远只有一种
    函数名()

  4. 函数的参数是什么

            我们的函数在不写参数的时候, 可以正常执行
            但! 功能相对单一
       
            如果函数想要真正的灵活起来, 在多个地方调用时 有不同的执行, 那么 我们可以通过 函数的参数来完成
       
        参数分为两个
            形参    函数名后(function) 后边的小括号内部, 每书写一个 就相当于在函数内部声明一个变量, 可以在函数内部去调用
            实参    调用函数时的小括号内部书写的值, 就是实参, 实参与形参为 一一对应的关系
       
        形参与实参会一一对应
                如果实参数量 少于 形参  那么前边的形参对应接受值, 没有对应实参 的 形参 值 为 undefined
                如果形参数量 少于 实参  那么会一一对应后, 多余的实参 无法通过 参数获取
                
    
  5. 函数的返回值

    * 语法: return 需要返回的内容 
    *  函数默认返回值
    *      我们可以不写 return 函数会默认在代码段最后一行 写上 retrun undefined
    * 
    *  我需要写返回值吗?
    *      我什么时候需要写 返回值
    *  
    *      返回值的书写 取决于 是否需要得到函数内部某一个变量的值, 如果需要 可以使用返回值将其返回, 如果不需要我们可以不写
    * 
    * 
    *  return
    *      具有中断函数执行的功能
    *      如果不想中断函数, 那么一定要将 return 放在函数的最后
    *      除非就是想要通过 return 中断函数的运行
    
  6. 函数小案例
    在 1000 到 2000 的数字内, 需要求出 是 4的倍数, 且不是100的倍数的那个数字 输出在页面 但是 每 4个 换一行

    *  需要参数吗 ?
    *      需要! 两个
    *
    *  需要返回值吗 ?
    *      不需要
    
    
    function fn(a, b) { // 一定要确保 a 的值 小于 b
        var num = 0
        for (var i = a; i < b; i++) {
           if (i % 4 == 0 && i % 100 !== 0) {
              // console.log(i)
            document.write(i + ' ')
                num++
                if (num == 4) {
                    document.write('<br>')
                    num = 0
               }
            }
        }
    }
    fn(1000, 2000)
    
  7. 函数的预解析
    函数的预解析, 可以能会遇上同名变量的变量提升(变量的预解析) 直接以函数为主