当前位置: 首页 > wzjs >正文

垂直型跨境电商平台seo短视频新地址在哪里

垂直型跨境电商平台,seo短视频新地址在哪里,建立网站需要花多少费用,网站建设有几种工具在 JavaScript 中,继承主要通过原型链实现,常见的继承方式有以下几种,每种方式都有其优缺点: 1. 原型链继承 1. 实现方式:将子类的原型对象指向父类的实例。 function Parent() {} function Child() {} Child.protot…

在 JavaScript 中,继承主要通过原型链实现,常见的继承方式有以下几种,每种方式都有其优缺点:


1. 原型链继承

1. 实现方式:将子类的原型对象指向父类的实例。

function Parent() {}
function Child() {}
Child.prototype = new Parent();

2. 优点:简单直观,能继承父类原型上的属性和方法。

3. 缺点

(1). 所有子类实例共享父类的引用类型属性,修改一个实例会影响其他实例;

(2). 无法向父类构造函数传递参数,即子类实例化时无法定制父类属性;


2. 构造函数继承

1. 实现方式:在子类构造函数中调用父类构造函数。

function Parent(name) { this.name = name; }
function Child(name) { Parent.call(this, name); }

2. 优点

(1). 解决了引用类型属性共享的问题,使得每个实例独立;

(2). 支持向父类构造函数传递参数;

3. 缺点:无法继承父类原型上的方法,方法只能在构造函数中定义,导致重复创建函数,浪费内存;


3. 组合继承(经典继承)

1. 实现方式:结合原型链继承和构造函数继承;

function Parent(name) { this.name = name; }
function Child(name) { Parent.call(this, name); }
Child.prototype = new Parent();
Child.prototype.constructor = Child;

2. 优点

(1). 既能继承父类实例属性,又能继承父类原型方法;

(2). 引用类型属性不共享,支持传参;

3. 缺点:父类构造函数被调用两次,分别为Parent.call 和 new Parent(),导致子类原型对象中多出一份冗余属性;


4. 原型式继承

1. 实现方式 :基于已有对象创建新对象,类似 Object.create

const parent = { name: "Parent" };
const child = Object.create(parent);

2. 优点:适用于不需要单独构造函数的场景,直接基于对象继承;

3. 缺点:引用类型属性会被所有实例共享,这一点与原型链继承相同;


5. 寄生式继承

1. 实现方式:在原型式继承的基础上增强对象。

function createChild(parent) {const obj = Object.create(parent);obj.sayHi = function() { console.log("Hi"); };return obj;
}

2. 优点:可以在不修改原对象的情况下扩展新方法;

3. 缺点:方法在每次创建实例时重复定义,效率低;


6. 寄生组合式继承(最优解)

1. 实现方式:通过寄生式继承父类原型,避免调用父类构造函数;

function Parent(name) { this.name = name}
function Child(name) { Parent.call(this, name)}Child.prototype = Object.create(Parent.prototype);
prototype.constructor = Child;

2. 优点

(1). 解决了组合继承中父类构造函数被调用两次的问题,性能最优;

​​​​(2). 完美实现原型链继承,且引用类型属性不共享;

3. 缺点:实现稍复杂;


7. ES6 class 继承

1. 实现方式:使用 extends 和 super 关键字;

class Parent {constructor(name) {this.name = name;}
}
class Child extends Parent {constructor(name) {super(name);}
}

2. 优点

(1). 语法简洁,符合传统面向对象语言的写法;

(2). 底层基于寄生组合式继承,是最佳实践的语法糖;

3. 缺点:需要环境支持 ES6+


8. 总结对比

推荐使用:现代开发中优先使用 ES6 class 继承。兼容旧环境时使用 寄生组合式继承。

http://www.dtcms.com/wzjs/842054.html

相关文章:

  • 怎样优化自己的网站深圳网页制作招聘网
  • 青海网站建设费用价格网站开发毕业答辩演讲稿范文
  • 公司网站建设需要多少钱千华网鞍山门户网站
  • 平台网站怎么建设电商网站建设如何
  • 用lnmp做网站建设一个最普通网站要多少钱
  • 网站建设方案书 百度网站建设免费模板下载
  • 网站开发外包公司坑济南网站建设 行知科技
  • 乐清网站制作推广重庆网站建设微信开发
  • 类似wordpress的博客怎么自己优化网站
  • 网站建设分前端和后台吗网站主题类型
  • 网站建设的主要作用wordpress左侧目录主题
  • 做程序的网站腾讯公司网站
  • 网站开发技术选型桂林象鼻山图片
  • wordpress好用的富文本编辑器如何做企业网站优化
  • html5美食网站青岛网站建设详细内容
  • asp个人网站怎么建设上海定制网站开发营销推广
  • 软件开发计划模板网站推广与优化方案
  • 郑州全网营销seo推广公司哪家好
  • 购物网站建设模板图片大公司网站建设建网站
  • 广州网站设计我选刻wordpress评论页面美化
  • 重庆市工程建设信息网新网站iis网站发布默认首页
  • 设计公司起名两个字南昌百度快速排名优化
  • 未备案网站 怎么处理专业企业展厅设计公司
  • 常州建设局考试网站微信公众号seo
  • 长沙本土网站建设公司做网站编辑有什么发展
  • 海南省住房和建设厅网站网站做的不好会有什么后果
  • 各大网站的名字建筑设计公司资质
  • 网站建设公司 电话销售没什么效果编程猫加盟条件和费用
  • 北京代做网站网站的布局方式有哪些方面
  • 大朗做网站生活服务平台