美文网首页
【JavaScript笔记】JavaScript基础_函数(5)

【JavaScript笔记】JavaScript基础_函数(5)

作者: 李明燮 | 来源:发表于2022-05-07 01:48 被阅读0次

    函数也是对象,封装了一些功能(代码),可以调用。

    <!DOCType html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <title></title>
        <script type="text/javascript">
            console.log("--------------------function 调用方式--------------------");
    
            //写new就代表调用构造函数constructor
            var fun = new Function();
            console.log("fun type:", typeof fun);   //fun type: function
    
            fun = new Function("console.log('hello world')");
            console.log(fun);   /* ƒ anonymous(
                                    ) {
                                    console.log('hello world')
                                    } */
            fun();  //hello world
    
            //fun(); 执行函数
            //fun: 函数对象
    
            //因为函数也是对象,所以可以给一个属性值
            fun.age = 18;
            console.log(fun.age);   //18
    
            // 声明匿名函数
            var fun1 = function () {
                console.log('hello world');
            }
    
            //执行匿名函数
            fun1();  //hello world
    
            function fun2() {
                console.log('111111');
                console.log('222222');
            }
    
            fun2();  //111111 222222
    
            function fun3(a, b) {
                console.log(a + b);
            }
    
            fun3(1, 2);  //3
            fun3();     //NaN  
            fun3(1);    //NaN
            fun3(123, "Hello");  //123Hello
            fun3(1, 2, 3, "Hello");  //3
    
            //给函数加 return
            function fun4(a, b) {
                var c = a + b;
                return c;
            }
    
            //需要用便来接返回值
            var result = fun4(1, 2);
            console.log("result:", result); //result: 3
    
            var obj = { age: 18, name: "小明" };
    
            //给函数传对象参数
            function fun5(a) {
                console.log("年龄:", a.age, "姓名:", a.name);
            }
    
            fun5(obj);  //年龄: 18 姓名: 小明
    
            //给函数传函数参数
            function fun6(a) {
                a(obj);
            }
    
            fun6(fun5); //年龄: 18 姓名: 小明
    
            //函数的返回对象
            function fun7() {
                return { name: "小明", age: 18 };
            }
    
            var obj1 = fun7();
            console.log(obj1.name); // 小明
    
            //函数内的函数
            function fun8() {
                function fun9() {
                    console.log("func9");
                }
                return fun9;
            }
    
            var a = fun8();
            a(); //func9
            fun8()(); //func9
    
            //匿名函数的另一种用法
            (function() {
                console.log("我是匿名函数");
            })(); // 我是匿名函数
    
            //匿名函数的另一种用法
            (function(a, b) {
                console.log("a:", a);
                console.log("b:", b);
            })(12, 13);     //a: 12 b: 13
    
            var obj = {name:"张三",age:18};
            obj.sayName = function() {
                console.log("我的名字是:", this.name);
            }
            //掉用对象方法(method)   // fun() 前面没有指定对象的叫函数
            obj.sayName(); //我的名字是: 张三
            //console.log() document.write() 都是对象方法
    
            //可以用这种方式查看属性
            for(var n in obj){
                console.log(n);
            }  // name age sayName
    
            //可以用这种方式查看属性值
            for(var n in obj){
                console.log(obj[n]);
            }  // 张三 18 ƒ () { console.log("我的名字是:", this.name);}
    
        </script>
    </head>
    
    <body>
    </body>
    
    </html>
    

    欢迎大家的意见和交流

    email: li_mingxie@163.com

    相关文章

      网友评论

          本文标题:【JavaScript笔记】JavaScript基础_函数(5)

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