zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    通用数据权限的思考与设计
    MyBatis传入参数为list、数组、map写法
    MyBatis的foreach查询(List、Array、Map)
    heX——基于 HTML5 和 Node.JS 开发桌面应用
    优秀设计:12个带给你灵感的创意单页网站作品
    So Easy!让开发人员更轻松的工具和资源
    触摸手势图标大全:48款触摸手势图标免费下载
    放松的周末,一起欣赏15个华丽的艺术品
    Skytte:一款令人印象深刻的 HTML5 射击游戏
    分享本年度最佳的15个 Photoshop 实例教程
  • 原文地址:https://www.cnblogs.com/moon-yyl/p/9779065.html
Copyright © 2011-2022 走看看