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>

  • 相关阅读:
    0302思考并回答一些问题
    0104 自下而上
    1203 有穷自动机的构造
    11 10我的评论
    1029 C语言文法翻译(2)
    1014 对编译程序的心得与总结
    我们小组的编译程序
    0921 词法分析程序
    0909 关于编译原理的思考
    数据库设计之数据库设计三大范式
  • 原文地址:https://www.cnblogs.com/moon-yyl/p/9779065.html
Copyright © 2011-2022 走看看