深入浅出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>

 

转载于:https://www.cnblogs.com/tinaluo/p/6671040.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值