当前位置:编程学习 > JAVA >>

javascript学习4——javascript面向对象(中)

        创建自己的对象
        实例化的过程:首先通过new关键字告知JS创建一个全新对象。然后新建的实例被赋值给一个变量,以便你可以通过引用那个变量来访问对象的新实例。不过为了做到这一点,所实例化的对象必须是一个构造函数。
        第个核心对象,如object、Function、Array和String都含有构造函数。
              创建构造方法
         
 
 
 
              创建公有、私有、特权、静态成员   
       添加静态方法
[javascript]  
<script type="text/javascript">  
    var obj=new Object();  
    obj.name='obj';  
    obj.alertName=function(){  
            alert(this.name);  
        }  
    obj.alertName();  
</script>  
 
            
           
 
                 
           添加公有方法
在上面我们已经接触到了一种添加公有方法的的例子,就是在我们构造函数里,function里面使用this关键字,用this加上点操作符来定义我们构造函数里的公有属性和公有方法。。
         另一种方式:(两者的不同之处看下文!)
 
[javascript]  
<script type="text/javascript">  
    function myConstructor(){  
              
        }  
    var myFun=new myConstructor();  
    myConstructor.prototype.myName='asdf';  
    alert(myFun.myName);  
</script>  
 
              需要注意的是:
不能在myConstructor上直接调用这个方法
                 添加私有和特权方法
私有成员就是在构造函数中定义的变量和函数。
例如向myConstructor中添加私有成员和方法
例子如下图所示:
[javascript]  
<script type="text/javascript">  
    function myConstructor(message){  
            this.MyMessage=message;  
            var myOwner=this;   //私有属性  
            var separator='_';  //私有属性  
            function alertMessage(){    //私有方法  
                    alert(myOwner.MyMessage);  
                }  
            alertMessage(); //实例化时显示信息。  
              
            //特权方法。  
            this.AppendToMessage=function(string){  
                    this.MyMessage+=separator+string;  
                    alertMessage();  
                }  
        }  
    var myFun=new myConstructor('asdf');  
    myFun.AppendToMessage('特权方法');  
</script>  
 
        与私有方法不同,特权方法能够被公开访问,而且还能访问私有成员。特权方法是指在构造函数的作用域中使用this关键字定义的方法。(这也是与用prototype来指定公有方法的不同之处:因为隶属于构造函数的作用域中可以访问私有成员。)
 
总结:
 
 
补充:web前端 , JavaScript ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,