Javascript函数

53 阅读3分钟

函数

-----一、函数的概念------

函数: 将任意代码封装在一起,需要用到的时候进行调用执行。

-----二、函数的语法------

  函数定义:
  //声明式函数定义
      function 函数名(){
          函数体//封装的代码
      }
      //函数调用的语句
       函数名()
       
   如定义一个求两个数最大值的函数
            function getMax(){
                var m = 21
                var n = 53
                var max = m
                if( n > max ){
                max = n
                }
                console.log('最大值为' + max)
            }
            getMax()
    //函数表达式,也称赋值式函数定义
        var 函数名fn() = function(){
            函数体
        }
    

-----二、函数的参数!!------

形参:就是在函数内部可以使用的变量,在函数外部不能使用。形参的值是在函数调用的时候有实参去决定的。 实参:在函数调用的时候给形参赋值的,就是在调用函数的时候给一个实际的内容。在有多个参数的时候,是按照顺序一一对应的。

   形参
       function 函数名(形参1,形参2,...){
           函数体
       }
   实参
       函数名(实参1,实参2,...)

传参过程:

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

参数个数

形参比实参少:因为是按照顺序一一对应的,形参少就会拿不到实参的值,所以在函数内部就没有办法用到这个值。

形参比实参多:因为是按照顺序一一对应的,所有多出来的形参就是没有值的,就是undefind

-----三、函数的返回值------

return返回的意思,其实就是给函数一个返回值 和 中断函数

终断函数:当我开始执行函数以后,函数内部的代码就会从上到下依次执行;必须要等函数内的代码执行完毕;而return关键字就是可以在函数中间的位置停掉,让后面的代码不断继续执行。

function fn(){
    console.log(1)
    console.log(2)
    console.log(3)
    return
    //写了return以后,后面的console.log(4) console.log(5)就不会继续执行了
    console.log(4)
    console.log(5)
}

返回值: reyurn关键字就是可以给函数执行完毕一个结果

function fn() {
//执行代码
return 100
}
//此时,fn()这个表达式执行完毕之后就有结果出现了
console.log(fn()) // 100

我们可以在函数内部使用return关键字把任何内容当做这个函数运行后的结果

-----四、函数优点------

  1. 封装代码,使代码更加简洁
  2. 复用,在重复功能的时候直接调用就好
  3. 代码执行时机,随时可以在我们想要执行的时候执行

-----五、预解析!!!!------

js代码的解析过程: JavaScript源代码 --> (预解析) --> 浏览器解析 --> 执行代码 --> 结果

预解析:预解析会让var声明和函数声明提升

var 关键字 在内存中先声明有一个变量名

声明式函数 在内存中先声明有一个变量名是函数名,并且这个名字代表的内容是一个函数

同名变量和函数的解析方式: 如果遇到同名的变量和函数,函数优先

注意:if语句中,不管条件成立不成立语句块都会解析

 console.log(num);
 if(false){
     var num = 100;
 }
 console.log(num);

return语句后代码不执行,但会进行预解析。