zoukankan      html  css  js  c++  java
  • javascipt加强对类的理解

    <!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="float_.css">
    <script type="text/javascript">
        
        //Object 通过Object类创建对象
    /*
        var p1=new Object();
        p1.name="小明";
        alert(p1.name);
        alert(p1.constructor);
    */
    
    /*
        var n1=new Number(10);  //等价于 n1=10
        //给类添加共用的一个方法
        Number.prototype.add=function(a){
            
            return this+a;  //this指的是 谁调用它就是谁,这里是n1调用它this就是n1
        }
        alert(n1.add(10).add(20));  //输出40
    
        var b=90;
        alert(b.add(40)); //同样调用add()方法,this 就是指的是b,所以输出130
    */
    
        /*请思考给js的Array对象扩展一个find(name)方法,当一个Array对象调用该方法
        时候,如果能找到name则返回其下标,否则返回-1;
        */
    
        var arr =new Array(3);
        arr[0]="lucy";
        arr[1]="lily";
        arr[2]="tom";
        
        //遍历数组
        for(var i=0;i<arr.length;i++){
            
            document.writeln("name:"+arr[i]);
        }
    /*
        document.writeln("<br/>");
        //数组反转
        arr.reverse();
    
        for(var i=0;i<arr.length;i++){
            
            document.writeln("name:"+arr[i]);
        }
    */    
        //创建一个共用的find方法
        Array.prototype.find=function(name){
            //总结:this谁调用它就是谁 
            for(var i=0;i<this.length;i++){  //这里的this就是数组arr
                
                if(name==this[i]){
                    //返回下标
                    return i;
                }
            }
            return -1;
        }
        
        document.writeln("返回下标为:"+arr.find("tom"));
        document.writeln("返回下标为:"+arr.find("ttt"));
    
    
        //成员函数的理解
        /*
            function 函数名(参数列表(这里可以多个)){
            
                语句;//函数主体
                return 返回值;//这里可以有也可以没有
            }
        
            js不支持重载,运行的时候不报错,如重复就调用最后一个
        */
    
        function test(a,b){
    
            alert("test(a,b)");
        }
        
        function test(a){
            
            alert(a);
        }
    
        function test(a,b){
    
            alert(a+" "+b);
        }
    
        test(23);  //调用最后一个输出 a undefined
        
        test(3,"your")
    
        /*
        结论:
            1.js在调用一个函数的时候,是根据函数名来调用的,如果有多个函数名相同,则认最后那一个函数.
            2.直接定义一个函数或者变量,实际上这些函数和变量就是全局函数和全局变量(本质上他们是属于window对象的)
    
        */
    </script>
    </head>
    <body>
    </body>
    </html>

    如果不理解大家还是自己动手试一试。

  • 相关阅读:
    抽象工厂
    组合和继承
    Mysql 设置远程连接
    websocket
    redis 持久化
    django urls
    git gitignore
    Mysql 系统表
    cudnn升级之后caffe无法训练的问题
    python numpy初始化一个图像矩阵
  • 原文地址:https://www.cnblogs.com/pwm5712/p/2984685.html
Copyright © 2011-2022 走看看