js 小练习题

复制代码
<script>
        /*1.结论,IIFE中运行顺序3,1,执行test(4),会传递参数*/
    
        /*var a=5;
        var test = (function(a){
            console.log(1);
            console.log("a:",a);
            this.a = a;
            return function(b){
            console.log(2);
            console.log("b:",b);
                return this.a+b;
            }
        }(function(a,b){
            console.log(3);
            console.log("a:",a,"b:",b);
            return a;
        }(1,2)));
    console.log(test(4));
    var test1 = (function(c){
        console.log("c:",c);
        return function(d){
            
            console.log("d:",d,"arguments:",arguments); 
            return d;
        };
    }(1));
    console.log(test1(5,7,8)) //d: 5 arguments: [5, 7, 8]
    */
    /*2 这里需要注意 函数变量的提升覆盖 第一个会被覆盖*/
    
    /*var x = 1,y = z = 0;
    function add(n){
        return n=n+3;
    }
    y = add(x);
    function add(n){
        return n=n+1;
    }
    z = add(x);
    console.log(x);    
    console.log(y);    
    console.log(z);    */
    
    /*3 */
    
    function People(){
        this.name = 'Tim';
        this.sayHello = function(){
            console.log('People:'+this.name);
        }
    }
    
    function Man(name){
        this.name = name;
        this.sayHello = function(){
            console.log('Man:'+this.name);
        }
    }
    
    Man.prototype = new People();
    var man = new Man('Jim');
    man.sayHello();
    People.call(man);
    man.sayHello();
    
    </script>
复制代码

 

<script>
        /*1.结论,IIFE中运行顺序3,1,执行test(4),会传递参数*/
    
        /*var a=5;
        var test = (function(a){
            console.log(1);
            console.log("a:",a);
            this.a = a;
            return function(b){
            console.log(2);
            console.log("b:",b);
                return this.a+b;
            }
        }(function(a,b){
            console.log(3);
            console.log("a:",a,"b:",b);
            return a;
        }(1,2)));
    console.log(test(4));
    var test1 = (function(c){
        console.log("c:",c);
        return function(d){
            
            console.log("d:",d,"arguments:",arguments);
            return d;
        };
    }(1));
    console.log(test1(5,7,8)) //d: 5 arguments: [5, 7, 8]
    */
    /*2 这里需要注意 函数变量的提升覆盖 第一个会被覆盖*/
    
    /*var x = 1,y = z = 0;
    function add(n){
        return n=n+3;
    }
    y = add(x);
    function add(n){
        return n=n+1;
    }
    z = add(x);
    console.log(x);    
    console.log(y);    
    console.log(z);    */
    
    /*3 */
    
    function People(){
        this.name = 'Tim';
        this.sayHello = function(){
            console.log('People:'+this.name);
        }
    }
    
    function Man(name){
        this.name = name;
        this.sayHello = function(){
            console.log('Man:'+this.name);
        }
    }
    
    Man.prototype = new People();
    var man = new Man('Jim');
    man.sayHello();
    People.call(man);
    man.sayHello();
    
    </script>

posted on   朝颜陌  阅读(503)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示