• JavaScript之函数相关知识


    1、函数作用

    功能代码块的封装,减少代码的冗余

    2、函数的声明

    2.1 方式一

    function 函数名(形参1,形参2…){执行体}

    2.2 方式二

    var 函数名 = new Function(“形参1”,“形参2”…,“函数执行体”);
    注意:此声明表明在js中函数是作为对象存在的

    2.3 方式三

    var 变量名 = function(形参名1 ,形参名2…){函数执行体}

    3、函数的参数

    js中的函数在调用时,形参可以不赋值,不会报错。
    js中的函数在调用时,形参赋值可以不全部赋值,不会报错,但是实参会依次进行赋值。

    4、函数的返回值

    在js中如果函数有返回值则直接返回,没有返回值则返回undefined
    注意:js的代码声明区域和执行区域是一起的,都是在js代码的代码域中。

    5、样例

    DOCTYPE html>
    <html lang = "en">
    <head>
        <meta charset = "UTF-8">
        <meta name = "viewport" content = "width = device - width, initial - scale = 1.0">
        <meta http-equiv = "X-UA-Compatible" content = "ie-edge">
        <title>JavaScript之函数学习title>
        <script>
            //1、声明函数
                //方式一:
                    function test1( a1, a2){
                        alert("函数声明一");
                    }
                //方式二:
                    var test2 = new Function("a1","a1","alert('函数声明二')");
                //方式三:
                    var test3 = function(a1,a2){
                        alert("我是函数声明三");
                    }
    
                //调用声明的函数
                    test1="abc";
                    alert(test1);
                    test1(1,2);
                    test2(1,2);
                    alert(test2);
            //2、函数的参数
                    function testParam(a1,a2,a3){
                        alert(a1);
                        alert("函数的形参学习");
                    }
                    testParam(1,2);
            //3、函数的返回值
                    var testReturn = function(){
                        alert("函数的返回值学习");
                        return "js";
                    }
                    alert(testReturn());
        script>
    head>
    <body>
        
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    6、函数的执行符

    在js中函数的执行符值()
    没有小括号则函数名其实就是一个变量
    加上小括号则函数会被执行

    7、函数作为实参传递

    在js中函数是可以作为实参进行传递的

    function testobj(a){
           alert(a());
    }
    var testParam = function(){
          alert("我是函数参数");
     }
     testobj(testParam);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    8、样例二

    DOCTYPE html>
    <html lang = "en">
    <head>
        <meta charset = "UTF-8">
        <meta name = "viewport" content = "width = device - width, initial - scale = 1.0">
        <meta http-equiv = "X-UA-Compatible" content = "ie-edge">
        <title>JavaScript之函数学习二title>
        <script>
            //1、函数的执行符
                var test1 = function(){
                    alert("函数的执行符学习");
                    return "js";
                }
                alert(test1());
            //2、函数作为实参进行传递
                function testobj(a){
                    alert(a());
                }
    
                var testParam = function(){
                    alert("我是函数参数");
                }
                testobj(testParam);
            //3、开发中经常用的传递方式
                function testObj2(fn){
                    //testObj2函数在被调用的时候,实参必须是一个函数对象
                    fn();
                }
    
                testObj2(function(){
                    alert("开发");
                })
        script>
    head>
    <body>
        
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
  • 相关阅读:
    DL/T645-2007通信协议调试记录(DDS1886)
    解释一下泛型擦除的概念,并讨论它对 Java 类型系统的影响
    C++:多态 详解
    【BOOST C++容器专题03】【01】Boost.MultiIndex
    Ubuntu18 Opencv3.4.12 viz 3D显示安装、编译、移植
    用python 实现采集百度热搜
    AcWing 200. Hankson的趣味题
    Apache atlas 元数据管理治理平台使用和架构
    Flink 流程处理和批处理开发
    计算机系统的层次结构
  • 原文地址:https://blog.csdn.net/qq_46106857/article/details/126243504