学习函数,那么这几点你都记住了吗?

216 阅读2分钟

一:1.函数的介绍

1.1 声明函数:声明函数只是存代码,并不会执行代码(敲黑板,重点哦)
1.2 函数的作用:解决复用,存储代码
1.3 需求:段代码 需要在很多个地方使用
1.4 调用函数:函数名()
1.5 函数参数:调用者数据 传递 函数
  (1) 函数: function 函数名(形参){函数体}
  (2) 用者: 数名(实参)
1.6 函数和循环区别
(1).本质区别 :函数是一种数据类型:负责存储代码 循环是一种语句 *它的原理:实参给形参赋值

附上一张当年流程图:

image.png

2.匿名函数:没有函数名的函数

2.1 匿名函数作用 :开辟局部作用域,避免全局变量污染
2.2 小细节:名函数自执行的时候,上一个语句分号不能省略
 //具名函数
        function fn() {
            console.log('6666')
        }

        fn()

  //let fn1 = 匿名函数
        let fn1 = function () {
            console.log('1111')
        }
        
        fn1();

        /* 如何执行匿名函数 : 自执行语法
        (匿名函数)() //开辟独立作用域,避免全局变量污染
        (function () {
            let num = 10//局部变量
            console.log('111')
        })()

3逻辑中断:

3.1 函数默认参数,我们自己在开发中使用不多。(了解后面很多js框架函数默认参数底层原理)
3.2 函数默认参数 使用 逻辑运算符短路运算(逻辑中断) 
(1) 短路运算: 左边式子就可以决定结果,右边式子不执行
            && : 一假则假
            || : 一真则真
             ! : 取反(没有短路运算,因为只有一个式子)
(2) 短路规则:
            && : 找假。左边式子值可以转成false,则无条件返回左边式子的值,右边不执行。 反之无条件返回右边式子的值。
            || : 找真。左边式子值可以转成true,则无条件返回左边式子的值,右边不执行。 反之无条件返回右边式子的值。 

扩展一下:

1.任何数据类型共同点(值类型,引用类型)
     * 都有变量赋值特点
     
2.引用类型特点
     * 函数: 函数名()
     * 数组: 数组名[下标]
     * 对象: 对象名.属性名
 //函数
        let fn = function(){
            alert(1111)
        }
        //引用类型也是数据类型,也拥有变量赋值的特点
        let a = fn
        //函数语法:  函数名()
        let res = fn()//返回值undefined

        //数组
        let arr = [10,20,30]
        //引用类型也是数据类型,也拥有变量赋值的特点
        let arr1 = arr
        //数组语法 :  数组名[下标]
        let num = arr[0]//10