JavaScript的简单继承
钥匙要点
-
JavaScript使用基于原型的方法来创建面向对象的语言,该方法可以通过克隆用作原型的现有对象来重复行为。这个概念可用于模拟继承。
- >
可以通过创建夹紧原型的函数,从而将所有成员和函数传输到新类中,从而在JavaScript中实现
> - > JavaScript具有自己独特的面向对象编程的独特方法,但对于来自C#或C等语言的开发人员来说,重要的是要了解尝试将其熟悉的语言复制到JavaScript中可能不会产生最佳结果。取而代之的是,拥抱JavaScript的独特哲学可以解锁其全部力量。
>
>我的许多朋友是C#或C开发人员。他们习惯于在项目中使用继承,当他们想学习或发现JavaScript时,他们问的第一个问题之一是:“但是我该如何使用JavaScript进行继承?”>
实际上,JavaScript使用与C#或C不同的方法来创建面向对象的语言。这是一种基于原型的语言。原型制作的概念意味着可以通过克隆作为原型的现有对象来重复行为。 JavaScript中的每个对象都会从原型定义对象可以使用的一组函数和成员的原型。没有班级。只是对象。然后,每个对象都可以用作另一个对象的原型。
实施继承
我们使用JavaScript可视化我们想要通过此层次结构创建的内容:
首先,我们可以轻松创建Classa。因为没有明确的类,所以我们可以通过创建这样的函数来定义一组行为(so…):
>
可以使用新关键字实例化此“类”:

<span>var <span>ClassA</span> = function() { </span> <span>this.name = "class A"; </span><span>}</span>
完整的样本只有8行长:
<span>var a = new ClassA(); </span><span>ClassA.prototype.print = function() { </span> <span>console.log(this.name); </span><span>}</span>
>现在,让我们添加一个工具以在类之间创建“继承”。此工具只需要做一件事情:克隆原型:
a<span>.print();</span>
这正是魔术发生的地方!通过克隆原型,我们将所有成员和功能传输到新类。
>因此,如果我们要添加一个将是第一堂课的第二类,我们只需要使用此代码: >
>
>输出为: 与JavaScript更多动手 WebGL 3D,HTML5和Babylon.js >现代Web平台Jumpstart(HTML,CSS和JS的基本原理) >在JavaScript继承中'构造函数'的作用是什么?用于创建和初始化对象。在继承的背景下,使用“超级”关键字在子类的构造函数中通常调用父类的构造函数函数。这允许子类继承父级的属性和方法。 在引入ES6时,JavaScript现在具有更传统的基于类的语法,用于定义构造函数和使用继承。 “类”关键字用于定义类,“扩展”关键字用于创建从父类继承的子类。 “超级”关键字在子类的构造函数中使用,以调用父类的构造函数。 > javaScript中的“继承”和“组合”之间有什么区别? JavaScript中的代码。继承是对象或类从父对象或类继承属性和方法的地方。另一方面,组成是由对象由其他对象组成的地方,功能被委派给了这些组件对象。虽然继承是关于“ is-a”关系(子类是父类的一种类型),但构图是关于“ has-a”关系(一个对象具有其他对象)。 ><span>var <span>ClassA</span> = function() {
</span> <span>this.name = "class A";
</span><span>}</span>
<span>var a = new ClassA();
</span><span>ClassA.prototype.print = function() {
</span> <span>console.log(this.name);
</span><span>}</span>
a<span>.print();</span>
var ClassA = function() {
this.name = "class A";
}
ClassA.prototype.print = function() {
console.log(this.name);
}
var a = new ClassA();
a<span>.print();</span>
<span>var inheritsFrom = function (child<span>, parent</span>) {
</span> child<span>.prototype = Object.create(parent.prototype);
</span><span>};</span>
<span>var <span>ClassB</span> = function() {
</span> <span>this.name = "class B";
</span> <span>this.surname = "I'm the child";
</span><span>}
</span>
<span>inheritsFrom(ClassB, ClassA);</span>
<span>var b = new ClassB();
</span>b<span>.print();</span>
>使用ASP.NET和AngularJS
实用的性能提示,使您的HTML/JavaScript更快(从响应式设计到休闲游戏再到性能优化的7部分系列)
>使用HTML和JavaScript Jumpstart开发通用Windows应用程序(使用已创建的JS来构建应用程序)
本文是Microsoft的Web Dev技术系列的一部分。我们很高兴与您共享Spartan项目及其新的渲染引擎。在Modern.ie上获取免费的虚拟机或远程测试。经常询问有关JavaScript继承的问题(常见问题解答)
在JavaScript中的经典和原型继承是什么区别?经典的继承,也称为构造函数继承,是从类或构造函数创建新对象的地方。这类似于继承在Java或C等语言中的工作方式。另一方面,原型继承是JavaScript所独有的。它涉及创建一个从现有对象继承属性的新对象。这是使用object.create()方法或通过将新对象的原型设置为现有对象完成的。两者之间的主要区别在于,经典的继承使用类和构造函数函数,而原型继承使用对象。>
>原型链如何在JavaScript继承中起作用? JavaScript继承中的概念。当对象上访问属性或方法时,JavaScript首先检查该对象是否具有该属性或方法。如果没有,JavaScript然后检查对象的原型。此过程继续延续原型链,直到找到属性或方法或达到链的末端(通常是内置对象原型)。该机制允许对象从其原型继承属性和方法,从而在JavaScript中启用代码重复使用和继承。>您能否解释JavaScript继承中的“超级”概念? JavaScript中的关键字在类的上下文中用于在对象的父母上调用函数。换句话说,“超级”使您可以在对象的父类上访问和调用功能,从而使您能够重复使用父类的方法。这在子类的构造函数中特别有用,您可能需要在其中调用父类的构造函数。>
>我如何在JavaScript中覆盖继承的方法?>继承如何与JavaScript ES6类一起使用?
您可以在JavaScript中解释多个继承吗?一个对象或类可以从多个父母继承的地方。但是,可以使用Mixins模拟多个继承。混合蛋白是一种技术,对象或类可以从多个来源“混合”属性和方法。这使您可以将多个对象或类的功能组合到一个。
>
以上是JavaScript的简单继承的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

Python和JavaScript开发者的薪资没有绝对的高低,具体取决于技能和行业需求。1.Python在数据科学和机器学习领域可能薪资更高。2.JavaScript在前端和全栈开发中需求大,薪资也可观。3.影响因素包括经验、地理位置、公司规模和特定技能。

如何在JavaScript中将具有相同ID的数组元素合并到一个对象中?在处理数据时,我们常常会遇到需要将具有相同ID�...

学习JavaScript不难,但有挑战。1)理解基础概念如变量、数据类型、函数等。2)掌握异步编程,通过事件循环实现。3)使用DOM操作和Promise处理异步请求。4)避免常见错误,使用调试技巧。5)优化性能,遵循最佳实践。

实现视差滚动和元素动画效果的探讨本文将探讨如何实现类似资生堂官网(https://www.shiseido.co.jp/sb/wonderland/)中�...

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

深入探讨console.log输出差异的根源本文将分析一段代码中console.log函数输出结果的差异,并解释其背后的原因。�...
