html商业网站设计之类源码分享(html5企业网站源码)

大家好,今天小编来为大家解答以下的问题,关于html商业网站设计之类源码分享,html5企业网站源码这个很多人还不知道,现在让我们一起来看看吧!

JavaScript类是在ECMAScript2015中引入的,它们通常被描述为JavaScript现有原型继承结构的语法糖。因此,虽然类没有向JavaScript引入新的继承模型-但它们确实提供了语法上的简单性。这种简单性可以帮助我们生成不易出错且可读性更高的代码。

类就像函数

类与函数非常相似。与同时具有函数表达式和函数声明的函数非常相似,类具有两个组件:类表达式和类声明。

类声明

让我们看看如何使用类声明来定义一个类。我们在类名后面使用class关键字:

classImage{\nconstructor(height,width){\nthis.height=height;\nthis.width=width;\n}\n}

吊装

函数声明和类声明之间的一个重要区别是那些函数声明是提升的,而类声明不是。你首先需要声明你的类然后访问它,否则,像下面这样的代码会抛出一个ReferenceError:

constp=newImage();//ReferenceErrorclassImage{}

类表达式

类表达式是定义类的另一种方式。类表达式可以命名或未命名。请注意,赋予命名类表达式的名称是类主体的本地名称。(所以它可以通过类名属性来检索):

//Anunnamedclassexpression\nletImage=class{\nconstructor(height,width){\nthis.height=height;\nthis.width=width;\n}\n};\nconsole.log(Image.name);\n//output:&34;//Anamedclassexpression\nletMyImage=classImage{\nconstructor(height,width){\nthis.height=height;\nthis.width=width;\n}\n};\nconsole.log(MyImage.name);\n//output:&34;

注意:类表达式受到与前面类声明部分中描述的相同的提升限制。

构造函数

构造函数方法是JavaScript中的一种特殊方法,我们使用它来创建和初始化使用类创建的对象。我们只能在一个类中使用一个名为“constructor”的方法。

我们的构造函数可以使用super关键字来调用超类的构造函数(稍后会详细介绍!)。

实例属性

实例属性必须在我们的类方法中定义:

classImage{\nconstructor(height,width){\nthis.height=height;\nthis.width=width;\n}\n}

如果我们希望使用静态类端属性和原型数据属性,这些必须在类主体声明之外定义:

Image.staticWidth=50;\nImage.prototype.prototypeWidth=55;

字段声明

虽然语法仍被认为是实验性的(许多浏览器尚未采用),但公共和私有字段声明也值得了解-因为您通常会使用Babel进行开发,它会为您转换语法。

公共字段声明

让我们用JavaScript字段声明语法重新审视我们的示例:

classImage{\nheight=0;\nwidth;\nconstructor(height,width){\nthis.height=height;\nthis.width=width;\n}\n}

不同之处在于我们的字段已预先声明。所以我们的类定义变得更加自文档化,并且字段总是存在的。

注意:可以使用或不使用默认值来声明字段!

私有字段声明

当我们使用私有字段时,可以像这样细化定义:

classImage{\nwidth;\nconstructor(height,width){\nthis.width=width;\n}\n}

私有字段(用39;Volkswagen&39;Volkswagen&39;Volkswagen&39;shorn.`);\n}\n}letb=newBeetle(&39;);\nb.sound();//Herbiemakesasound.\n//Herbietootsit'shorn.

混音

混入是类的模板。一个ECMAScript类只能有一个超类,因此不能从工具类中进行多重继承。该功能必须由超类提供。

具有超类作为输入和扩展该超类作为输出的子类的函数可用于在ECMAScript中实现混合:

letcalculatorMixin=Base=>classextendsBase{\ncalc(){}\n};letrandomizerMixin=Base=>classextendsBase{\nrandomize(){}\n};

然后可以像这样编写使用这些混合的类:

classFirst{}\nclassSecondextendscalculatorMixin(randomizerMixin(First)){…

我们深入研究了JavaScript类,包括类声明、类表达式、构造函数、实例属性、字段声明、扩展、物种、超级和混合。

关注七爪网,获取更多APP/小程序/网站源码资源!

好了,文章到此结束,希望可以帮助到大家。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平