美文网首页
JavaScrip函数

JavaScrip函数

作者: _羊羽_ | 来源:发表于2019-06-07 13:05 被阅读0次

    概述

    函数三要素包括:**函数名、参数、返回值
    函数声明

        function 函数名() {
            // 函数体
        }
    

    函数调用

        函数名
        函数名()
    

    eg

    <script >
        function sayHello(){
            console.log("hello js")
        }
        sayHello()
    </script>
    

    参数

    形式参数 : 在函数声明时, 设置的参数。作用:占位置 ,只能在函数内部使用.
    实际参数 : 在函数调用时,传入的参数。 作用 : 函数调用时,会把实参的值赋值给形参, 这样形参就有了值, 在函数体里,,,可以直接使用形参!

    //带参数的函数声明
    function 函数名(形参1, 形参2, 形参...){
      //函数体
    }
    
    //带参数的函数调用
    函数名(实参1, 实参2, 实参3);
    

    计算2个数的和

    <script >
        function sum(n1,n2){
            console.log(n1 + n2)
        }
        sum(10,3)
    </script>
    

    返回值

    函数返回值注意事项:

    • return后面的语句不执行。
    • 函数可以没有返回值,函数如果没有return,那么返回结果是undefined。
    • 函数的参数可以有多个,但是返回值只能有1个。
    //声明一个带返回值的函数
    function 函数名(形参1, 形参2, 形参...){
      //函数体
      return 返回值;
    }
    
    //可以通过变量来接收这个返回值
    var 变量 = 函数名(实参1, 实参2, 实参3);
    

    计算2个数结果返回

    <script >
        function sum(n1,n2){
           return n1 + n2
        }
        var r= sum(10,13)
        console.log(r)
    </script>
    

    匿名函数

    匿名函数:没有名字的函数
    将匿名函数赋值给一个变量,这样就可以通过变量进行调用

        var 函数名 = function(){
          //函数体
        }
    
    <script >
       var sum = function (n1,n2){
           return n1 + n2
        }
        console.log(sum(3,13))
    </script>
    

    自执行(匿名函数自执行1次):第一个括号:匿名函数保护起来,第二个小括号:调用

    ( 匿名函数)()
    
    (function () {
          console.log("自执行函数")
      })();
    

    需要注意匿名函数的分号

    <script >
        var a = 10;
        var b = 20;
        b = a;
        (function () {
            console.log(b);
        })();
    
    </script>
    

    作用域

    变量起作用的区域
    全局作用域:在script标签内,函数外的区域就是全局作用域,在全局作用内声明的变量叫做全局变量 。全局变量可以在任意地方访问。
    函数作用域 :在 函数内的区域 叫做函数作用域,在函数作用域内声明的变量叫做局部变量 ,局部变量只有在当前函数内才能访问到。

    全局变量:在函数外,script标签内声明的变量就是全局变量,全局变量在任何地方都能访问的到。
    局部变量:在函数中声明的变量,就是局部变量,局部变量只有在当前函数体内能够访问。
    隐式全局变量:没有使用var定义的变量也是全局变量,叫做隐式全局变量。

    预解析

    js执行代码分为两个过程:

    • 预解析过程(变量与函数提升)
    • 代码一行一行执行
    console.log(num);
    var num  = 1
    console.log(num)
    

    预解析过程

    1. 把var声明的变量提升到当前作用域最前面,不会提升赋值。
    2. 把函数声明提升到当前作用域的最前面。
    3. 如果函数同名 , 后者会覆盖前者 。
    4. 如果var声明的和函数声明的同名, 函数优先。

    相关文章

      网友评论

          本文标题:JavaScrip函数

          本文链接:https://www.haomeiwen.com/subject/lvtptctx.html