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">

    //用构造方法来创建对象
    //对象---成员函数
    //给一个对象添加(指定)函数的几种方式
/*
    //第一种方式:通常方式
    function Person(){
        
        this.name="abc";
        this.age=18;

        this.show=function(){
            
            window.alert("name:"+this.name+"age:"+this.age);
        }
    }

    var p1=new Person;
    p1.show();
*/

    //第二种方式:
/*    
    function Person(){
        
        this.name="abc";
        this.age=19;
    }

    function show(){
        
        window.alert("name:"+this.name+"age:"+this.age);
    }

    window.alert(show);//输出show()函数整体代码
    
    var p2=new Person();
    p2.show1=show; //不要加括号 【看不懂请看看 window.alert(show) 这个的输出】
    p2.show1();
*/
/*
    //第三种方式

    function Person(){
        
        this.name="lily";
        this.age=19;
    }
    
    var p3=new Person();

    p3.show=function show2(){
        
        window.alert("name:"+this.name+" "+"age:"+this.age);
    }

    p3.show();
*/

    //第四种方式
    
    //前几种方法有一个问题,那就是以上对象独占函数代码,这样如果对象过多,则会影响效率,js设计者,给我们提供了别一个方法,原型法:这样多个对象可以共享函数代码

    function Car(){
        
    }
    //使用prototype去绑定一个函数给shot
    Car.prototype.show=function(){
        
        window.alert("宝马");
    }

    var d1 =new Car();
    d1.show();
    var d2=new Car();
    d2.show();//正确
    
    window.alert(d1.show==d2.show);//返回true 说明shot()方法共享一份,而不是每个对象独占一份

    window.alert(d1==d2);//对象地址不一样
</script>
</head>
<body>
</body>
</html>

 

 

你可能感兴趣的:(java)