javascipt 类的简单实例

发布时间:2020-11-13编辑:脚本学堂
为大家举一个javascript类的简单例子,供初学的朋友参考。

代码如下:

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>javascript面向对象之类的例子_www.jb200.com</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>