js函数复习

88 阅读2分钟

函数是一种用于存储代码块的复杂数据类型 * 作用:解决代码复用问题

函数语法

    1.声明函数 : 是一个存储过程,此时不会执行函数体代码  
        function 函数名(){
            函数体代码: 需要存储的一段代码
        }

    2.调用函数 : 执行函数体代码
        函数名()
        

函数传参

传:调用者 函数名(实际参数)

收:函数 function 函数名(形式参数){ //函数体代码 }

函数传参本质: 实参给形参赋值的过程

            (1)函数传参是按照传入顺序一一赋值
            
            (2)函数每一次调用传参过程都是独立的,互不影响
            
            (3)函数 形参数量 和 实参数量 可以不一致的
            

短路运算: 左边式子就可以决定结果,右边式子不执行

            && : 一假则假
            || : 一真则真
             ! : 取反(没有短路运算,因为只有一个式子)
        2.2 短路规则:
            && : 找假。  左边式子值可以转成false,则无条件返回左边式子的值,
            右边不执行。 反之无条件返回右边式子的值。
            
            || : 找真。 左边式子值可以转成true,则无条件返回左边式子的值,
            右边不执行。 反之无条件返回右边式子的值。 
            

函数返回值 : 函数 传递数据 给调用者

注意点

            (1)函数return关键字后面的代码不会执行的
            
                * 只要有return关键字,函数体立即结束执行。
                
            (2)如果函数没有return,则默认返回值是undefined
            
            
            

1.js变量作用域: 变量可以使用的区域

作用:避免变量污染(变量名相同导致代码冲突)

       js三种作用域
       
        1 全局作用域(全局变量)  : 在函数外面let的变量
        
        2 局部作用域(局部变量) :   在函数里面let的变量
        
        3 快级作用域(快级变量) :   在分支或循环大括号中let的变量
        

作用域链: 默认情况下,代码处于全局作用域(0级链),当声明一个函数之后就会开辟一个局部作用域(1级),而函数里面又可以声明一个函数,又会形成新的作用域(2级),以此类推形成的结构称之为作用域链

变量访问规则: 就近原则