原生js如何实现继承

JavaScript 通过原型链和构造函数实现继承。使用原型链,父对象作为子对象的原型,子对象继承父对象的属性和方法。使用构造函数,子构造函数将父构造函数作为原型,并通过覆盖父类方法实现定制化。本例中,Person 是父类,Employee 是子类,Employee 继承了 Person 的属性和方法,并添加了自己的 sayJob 方法。

原生js如何实现继承

在原生 JavaScript 中实现继承

JavaScript 是一种基于原型链的语言,它不直接支持类和继承,但是可以通过使用原型链和构造函数来模拟继承。

使用原型链实现继承

创建父对象:创建一个对象作为父对象,它包含要继承的属性和方法。

const Parent = {  name: "Parent",  sayName() {    console.log(this.name);  }};

登录后复制创建子对象:创建子对象,将父对象的原型链设置为其原型。

const Child = Object.create(Parent);Child.name = "Child";

登录后复制

使用构造函数实现继承

创建父构造函数:创建一个父构造函数,它包含要继承的属性和方法。

function Parent(name) {  this.name = name;}Parent.prototype.sayName = function() {  console.log(this.name);};

登录后复制创建子构造函数:创建子构造函数,将父构造函数作为其原型。

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

登录后复制

在子类中覆盖父类方法

要覆盖父类中的方法,可以在子类的原型链中重新定义该方法。

Child.prototype.sayName = function() {  console.log("Child: " + this.name);};

登录后复制

示例

以下是一个使用构造函数实现继承的示例:

function Person(name) {  this.name = name;}Person.prototype.sayName = function() {  console.log(this.name);};function Employee(name, title) {  Person.call(this, name);  this.title = title;}Employee.prototype = Object.create(Person.prototype);Employee.prototype.constructor = Employee;Employee.prototype.sayJob = function() {  console.log(this.name + " is a " + this.title);};const john = new Employee("John", "Software Engineer");john.sayName(); // 输出:"John"john.sayJob(); // 输出:"John is a Software Engineer"

登录后复制

以上就是原生js如何实现继承的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2656155.html

(0)
上一篇 2025年3月7日 09:49:22
下一篇 2025年2月25日 04:48:41

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 请提供文章内容,我将根据内容生成一个符合要求的标题。

    提问的问题与答案的内容无关,给出的答案并未解答问题内容中提到的“link标签引入css,白屏;挨个把页面所有东西都删了,发现只要用了link标签引入css,哪怕这个css文件是空的,原本的dom就无法显示”的问题。 以上就是请提供文章内容,…

    2025年3月7日
    000
  • js如何取子节点

    要在 JavaScript 中获取子节点:使用 childNodes 属性获取所有子节点。使用 children 属性获取子元素节点。使用 firstChild 或 firstElementChild 获取第一个子节点。使用 querySe…

    2025年3月7日
    200
  • js中如何动态绑定

    在 JavaScript 中,可通过 Function.prototype.bind() 方法实现动态绑定,将目标函数与特定 this 值绑定在一起,从而允许在运行时更改对象行为。优点包括自定义对象行为、提高代码可重用性以及创建回调函数。但…

    2025年3月7日
    200
  • 如何避免js被修改

    可以通过以下方法避免 JS 被修改:混淆和压缩代码;使用签名验证;部署 CSP;使用沙盒环境;使用代码签名证书;使用 CDN;定期监控和更新。 如何避免 JS 被修改? 1. 混淆和压缩代码 混淆和压缩代码可以使 JS 代码难以理解和修改。…

    2025年3月7日
    200
  • html如何跳转到js

    JavaScript 跳转 HTML 页面方法:直接跳转:window.location.href = “new_page.html”;相对路径跳转:window.location.href += “/n…

    2025年3月7日
    200
  • js如何除法取整

    JavaScript 中进行除法取整使用 Math.floor() 函数,它返回给定数字除以另一数字后的最大整数。语法:Math.floor(number)。该函数适用于数字参数,返回整数结果。 如何在 JavaScript 中进行除法取整…

    2025年3月7日
    200
  • js如何点击某个按钮

    可以通过使用 click() 方法模拟用户点击按钮的行为,步骤如下:获取按钮元素。调用获取的按钮元素的 click() 方法。 如何在 JavaScript 中点击某个按钮 在 JavaScript 中,可以利用 click() 方法模拟用…

    2025年3月7日
    200
  • 前端如何缓存js文件

    缓存 JS 文件可提升页面加载速度。缓存方法包括:1. 服务器端缓存:设置 HTTP 缓存头或使用 CDN;2. 浏览器端缓存:使用 localStorage/sessionStorage 或 Service Worker。最佳实践是设置合…

    2025年3月7日
    200
  • js 闭包如何调用

    调用 JavaScript 闭包的步骤:声明一个创建闭包的外部函数。在外部函数中定义需要访问的变量和函数。返回一个内部函数作为闭包。在需要使用闭包的地方调用内部函数。 如何调用 JavaScript 闭包 什么是闭包?闭包是在 JavaSc…

    2025年3月7日
    200
  • 如何通过js获取ip

    JavaScript 中获取 IP 地址的方法有两种:获取公共 IP 地址 (fetch(‘https://api.ipify.org?format=json’)…) 和获取本地 IP 地址 (funct…

    2025年3月7日
    200

发表回复

登录后才能评论