加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_常德站长网 (https://www.0736zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

JavaScript原型模式是指什么?如何完成?

发布时间:2022-01-11 15:47:26 所属栏目:语言 来源:互联网
导读:JavaScript原型模式是指什么?JavaScript原型模式是JavaScript设计模式中的一种,本文主要介绍JavaScript原型模式的实现,接下来我们就一起来学习一下JavaScript原型模式吧。 原型模式是指原型实例指向创建对象的种类,并通过拷贝这些原型创建新的对象,是一
   JavaScript原型模式是指什么?JavaScript原型模式是JavaScript设计模式中的一种,本文主要介绍JavaScript原型模式的实现,接下来我们就一起来学习一下JavaScript原型模式吧。
 
  原型模式是指原型实例指向创建对象的种类,并通过拷贝这些原型创建新的对象,是一种用来创建对象的模式,也就是创建一个对象作为另一个对象的prototype属性;
 
  实现原型模式
  ES5中的API:Object.create(prototype, optionalDescriptorObjects)
 
  Object.create()方法接收两个参数:第一个参数是__proto__对象,第二个是prototiesObject(可选,使用第二个参数可以初始化额外的其他属性,接受字面量对象形式); 
 
  var vehiclePrototype = {
      model:"保时捷",
      getModel: function () {
          console.log('车辆模具是:' + this.model);
      }
  };
 
  var vehicle = Object.create(vehiclePrototype,{
      "model":{
          value:"法拉利"
      }
  });
 
  vehicle.getModel();  //车辆模具是:法拉利
  我们使用Object.create实际上是新建了一个对象vehiclePrototype,并且继承了vehiclePrototype的方法,所以此时vehicle.__proto__ == vehiclePrototype;
 
  第二个参数中初始化了"model"的值,将model的值初始化为了"法拉利",所以此时新创建的对象vehiclePrototype中只有一个model,值为"法拉利";
 
  不用Object.create()实现,用prototype:
 
  var vehiclePrototype = {
      init: function (carModel) {
          this.model = carModel || "保时捷";
      },
      getModel: function () {
          console.log('车辆模具是:' + this.model);
      }
 

(编辑:应用网_常德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!