zoukankan      html  css  js  c++  java
  • 深入浅出javascript(三)封装和继承

    一、私有变量和公有变量

    通过var修饰的是私有变量。

    二、私有变量的访问方法

    三、特权、公有和私有方法

    一个例子:

    function f(name)
    {
        var name=name;            //私有变量
        
        this.show1=function()     //①特权方法,通过this修饰
        {
            alert(name);         //可以访问私有变量;
        }
        var show2=function()     //②私有方法,通过var修饰
        {
            alert(name);        //可以访问私有变量
        }
        show2();                //调用私有方法
    }
    //------------------//
    f.prototype.show3=function() //③公有方法,通过prototype原型添加;
    {
        alert(name);            //不可以访问私有变量
    }
    //-----------------//
    
    var obj=new f("apple");    //实例一个对象;
    obj.show1();    //特权方法
    obj.show3();//公有方法,无法显示;

    继承

    通过prototype模拟继承

    原因:javascript解释器在访问某个对象的属性或方法时,首先在对象中查找此成员是否存在,如果不存在则在prototype指向的原型去查找。

    <script type="text/javascript">
    function parent()    //父类
    {
        this.parent_data=20;
        this.parent_method=function()
        {
            alert("父类的方法");
        }
    }
    function son()        //子类
    {
        this.son_method=function()
        {
            this.parent_method();        //调用父类方法;
            alert(this.parent_data);    //父类数据;
        }    
    }
    son.prototype=new parent(); //通过prototype扩展原型;
    var son_instance=new son();    //实例对象
    son_instance.son_method();    //调用父类数据;
    </script>
  • 相关阅读:
    OA系统配置文件
    OA系统配置文件
    OA系统配置文件
    OA系统配置文件
    如何在github上递交高质量的pull request
    如何在github上递交高质量的pull request
    如何在github上递交高质量的pull request
    如何在github上递交高质量的pull request
    Python 变量作用域
    python match search 和不匹配
  • 原文地址:https://www.cnblogs.com/tinaluo/p/6671040.html
Copyright © 2011-2022 走看看