位置:首页 > 软件操作教程 > 编程开发 > JavaScript > 问题详情

JavaScript 应用原型

提问人:刘团圆发布时间:2020-11-26

■知识点

原型属性可以被所有实例访问,而私有属性只能被当前实例访问。

下面通过几个实例介绍原型在代码中的应用技巧。

■实例设计

【示例1】利用原型为对象设置默认值。当原型属性与私有属性同名时,删除私有属性之后,可以访问原型属性,即可以把原型属性值作为初始化默认值。

function p(x){               //构造函数

    if (x)                         //如果参数存在,则设置属性,该条件是关键

        this.x = x;            //使用参数初始化私有属性x的值

}

p.prototype.x = 0;          //利用原型属性,设置私有属性x的默认值

var p1 = new p();           //实例化一个没有带参数的对象

console.log(p1.x);          //返回0,即显示私有属性的默认值

var p2 = new p(1);         //再次实例化,传递一个新的参数

console.log(p2.x);          //返回1,即显示私有属性的初始化值


【示例2】利用原型间接实现本地数据备份。把本地对象的数据完全赋值给原型对象,相当于为该对象定义一个副本,通俗地说就是备份对象。这样当对象属性被修改时,可以通过原型对象来恢复本地对象的初始值。

function p (x){                                      //构造函数

    this.x = x;

}

p.prototype.backup = function (){       //原型方法,备份本地对象的数据到原型对象中

    for(var i in this){

        p.prototype[i] = this[i];

    }

}

var pi = new p(1);                   //实例化对象

p1.backup();                           //备份实例对象中的数据

p1.x =10;                                //改写本地对象的属性值

console.log(p1.x)                   //返回10,说明属性值己经被改写

p1 = p.prototype;                  //恢复备份

console.log(p1.x)                   //返回1,说明对象的属性值己经被恢复

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部