Javascript的函数

87 阅读3分钟

函数

  • 对于JS来说,函数就是把任意一段代码放在一个盒子里面

  • 在我想要让这段代码执行的时候,直接执行这个盒子里面的代码就行了

    //这个是我们以前写过的一段代码
    for(var i=0;i<10;i++){
        conlose.log(i)
    }
    //函数,这个{}就是那个“盒子”
    function fn(){
        for(var i=0;i<10;i++){
            conslole.log(i)
        }
    }
    
    ## 一.函数定义阶段
  • 我们有两种定义方式

    声明式

    • 使用function 这个关键字来声明一个函数

    • 语法

      function fn(){
          //一段代码
          console.log("声明式")
      }
      

    赋值式

    • 首先使用var 定义一个变量,把一个函数当作值直接赋给这个变量就可以了

    • 语法:

      var test2 = function(){
          //一段代码
          console.log("我是赋值式")
      }
      
    • 两种定义函数的区别

      //声明式可以先调用在定义
      //赋值式只能先定义在调用
      

调用函数

  • 函数调用就是直接写函数名()就可以了

    //声明函数
    function fn(){
        //一段代码
        console.log("声明式")
    }
    //调用函数
     fn()
    ​
    //注意:定义完一个函数以后,如果函数没有调用,那么写在{}里面的代码没有意义,只有调用以后才会执行
    
  • 调用上的区别

    • 虽然两种定义方式的调用都是一样的,但是还有有一些区别的

      • 声明函数“ 调用可以在定义之前或者定义之后

        //可以调用
        fn()
        //声明函数
        function fn(){
            //一段代码
            console.log("声明式")
        }
        //可以调用
         fn()
        
      • 赋值式函数: 调用只能在定义之后

        //会报错
        fn()
        //声明函数
        var fn= function(){
            //一段代码
            console.log("声明式")
        }
        //可以调用
         fn()
        

函数的参数

  • 我们在定义函数和调用函数的时候都出现过()

  • ()的作用就是放参数的位置

  • 参数分为形参实参

    //声明式
    function fn(形参写这里){
        //一段代码
        console.log("声明式")
    }
    fn(实参写在这里)
    ​
    //赋值式函数
    var fn= function(形参写在这里){
        //一段代码
        console.log("声明式")
    }
    //可以调用
     fn(实参写在这里)
    

函数的返回值

  • 函数调用本身也是一个表达式,表达式就应该有一个值出现

  • 现在的函数执行完毕之后,是不会有结果出现的

  • retrun 返回的意思,其实就是给函数一个 返回值终断函数

    //比如1+2 是一个表达式,那么这个表达式的结果就是3
    console.log(1+2)  //3function fn(){
        //执行代码
    }
    // fm() 也是一个表达式,这个表达式就没有结果出现
    console.log(fn())   //undefined
    
  • return 关键之就是可以给函数执行完毕一个结果

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

    • 1.return 写不写看需求
      1. return 后面的代码无法执行

console.error()提示错误

预解析

* 预解析其实就是聊聊js代码的编译和执行
* js是一个解释型语言,就是在代码执行之前,先对代码进行通读和解释,然后再执行代码
* 也就是说,我们的js代码在运行的时候,会经历两个环节 解释代码和执行代码

解释代码

  • 因为式在所有代码执行之前进行解释,所以叫做预解析(预解释)

  • 需要解释的内容有两个

    • 声明函数

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

      • 在内存中先声明有一个变量名