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>

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

  • 相关阅读:
    关于Maya Viewport 2.0 API 开发的介绍视频
    春节大假
    Some tips about the life cycle of Maya thread pool
    Can I compile and run Dx11Shader for Maya 2015 on my side?
    How to get current deformed vertex positions in MoBu?
    想加入全球首届的 欧特克云加速计划吗?
    三本毕业(非科班),四次阿里巴巴面试,终拿 offer(大厂面经)
    mac、window版编辑器 webstorm 2016... 永久破解方法。
    node 搭载本地代理,处理web本地开发跨域问题
    js 一维数组,转成嵌套数组
  • 原文地址:https://www.cnblogs.com/pwm5712/p/2984685.html
Copyright © 2011-2022 走看看