数码资讯
Javascript课堂(类)的详细介绍
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
在Javascript中,你可以使用一个类(class)来实现面向对象编程(面向对象编程)。然而,在Javascript中的类是不同于java,和其相应的定义和用途是不同的。
Javascript中类的定义
在Javascript中,来自同一个原型(原型)对象的所有对象都派生出一个类;也就是说,Javascript类是对象集合的概念,如果两个对象是同一个原型,则它们属于同一类;Javascript类甚至不需要类名:
复制代码代码如下所示:
var = x:42 };
创建一个object.create(P);
var b = object.create(P);
console.log(a b); / /假
console.log(Object.getPrototypeOf(一)= object.getprototypeof(B)); / /真的
在上面的例子中,对象A和B具有相同的原型对象(原型)p,所以A和B属于同一个类(虽然这个类没有类名),它们继承了原型对象p的值42的x。
从这个例子中,我们可以看到原型对象的作用相当于模板,模板可以从它生成和创建多个对象。它的地位是相同的类的代码(代码)在java语言中,它是在Javascript中的类定义的核心。在下面的例子中,原型对象看上去更像是该类的代码。
复制代码代码如下所示:
var { { { {
INCREMENT_BY: 1,
增量:函数(x){
返回x + this.increment_by;
}
}
创建一个object.create(P);
var b = object.create(P);
console.log(a.increment(7)); / / 8
console.log(b.increment(9)); / / 10
在上面的例子中,原型对象定义了一个价值1的财产(P increment_by)和调用函数的增量,和对象A和B得到increment_by和增量从P函数模板。在调用对象A或B的增值功能,Javascript会尝试得到一个A或B increment_by(这个。increment_by);因为increment_by从P得到的,所以值1从模板采集,具有相同的值的变量,静态变量类似于java(静态变量),所以在使用变量名称的大写字母increment_by上面的例子。
在上面的例子中,所有的对象(属于同一类)从模板P创建完全相同的性质和行为。但事实上,对于不同的同一类的对象,他们有自己独特的属性和行为除了具有类定义的属性和行为。因此,如果你需要使用原型作为一类,你必须做出一定的定制每个从它派生的对象。
复制代码代码如下所示:
var { { { {
increment_by:1,
增量:函数(x){
返回x + this.increment_by + this.custom_increment_by;
}
}
创建一个object.create(P);
var b = object.create(P);
a.custom_increment_by = 0;
b.custom_increment_by = 1;
console.log(a.increment(7)); / / 8
console.log(b.increment(9)); / / 11
在这个例子中,对象A和B创建模板P有一个变量custom_increment_by不一定相等,而其增值的最终结果()函数的custom_increment_by.in总价值相关,定制新的对象的工作往往是在一个统一的功能进行。
复制代码代码如下所示:
var { { { {
increment_by:1,
增量:函数(x){
返回x + this.increment_by + this.custom_increment_by;
}
}
功能getincrementalclassobject(customincrementbyvalue){
incrementalobj = object.create VAR(p);
incrementalobj.custom_increment_by = customincrementbyvalue;
返回incrementalobj;
}
创建一个getincrementalclassobject(0);
var b = getincrementalclassobject(1);
console.log(a.increment(7)); / / 8
console.log(b.increment(9)); / / 11
所以,P(getincrementalclassobject)和原型对象功能完成了一个类的定义:通过调用getincrementalclassobject()函数获得原型对象是一个对象,并调用getincrementalclassobject()过程中的功能可以定制,这些新对象。值得注意的是,此时已定义的类没有类名,即增量为描述的方便。
回首在getincrementalclassobject做()函数,你可以看到,从增量类创建新对象的过程如下:
1。创建一个空对象,并将它的原型对象定义为p。
2。根据不同的参数值定制新的空对象。
三.返回已定制的新对象。
在Javascript中,类的定义和新对象的创建可以通过构造函数(构造函数)很快完成。
Javascript的构造函数(构造函数)
从增量类在这个例子中我们可以看到,代码的类两部分来创建原型对象作为模板的新定义,创建一个自定义函数来初始化新对象;从阶级通过三个进程创建一个新的对象:指定原始对象,新的对象初始化新的对象并返回/定制新的目标。在Javascript,所有这一切都可以通过构造函数(constructor)完成。
Javascript中的构造函数是一个函数(函数),它假定新对象的初始化函数,构造函数的原型用作模板来创建新对象:
复制代码代码如下所示:
函数的增量(customincrementbyvalue){
this.custom_increment_by = customincrementbyvalue;
}
incremental.prototype = { {
increment_by:1,
增量:函数(x){
返回x + this.increment_by + this.custom_increment_by;
}
}
var =新增量(0);
var =新增量(1);
console.log(a.increment(7)); / / 8
console.log(b.increment(9)); / / 11
通过新关键字,使用构造函数创建新对象的过程实际上经历了以下几个阶段:
创建一个新的空对象。
1。将对象的原型对象指向构造函数函数的原型属性。
2。将这个对象作为这个参数并执行构造函数函数。
三.这是在以前的getincrementalclassobject工作相同()函数。
类的名称
当一个对象被创建构造函数,相应的对象类的名称,这可以从instanceof运算符的结果验证。
复制代码代码如下所示:
console.log(一个是增量); / /真的
console.log(B是增量); / /真的
然而,instanceof运算符不确定对象是否是通过增量的构造函数创建。instanceof运算符只确定对象的对象是incremental.prototype.when有两个原型构造函数一样,instanceof运算符将返回到真正的统一,没有区别,是用来创建对象的构造函数之间。
复制代码代码如下所示:
功能incremental2(customincrementbyvalue){
this.custom_increment_by = customincrementbyvalue + 3;
}
incremental2.prototype = incremental.prototype;
console.log(一个是incremental2); / /真的
Javascript中类的定义
在Javascript中,来自同一个原型(原型)对象的所有对象都派生出一个类;也就是说,Javascript类是对象集合的概念,如果两个对象是同一个原型,则它们属于同一类;Javascript类甚至不需要类名:
复制代码代码如下所示:
var = x:42 };
创建一个object.create(P);
var b = object.create(P);
console.log(a b); / /假
console.log(Object.getPrototypeOf(一)= object.getprototypeof(B)); / /真的
在上面的例子中,对象A和B具有相同的原型对象(原型)p,所以A和B属于同一个类(虽然这个类没有类名),它们继承了原型对象p的值42的x。
从这个例子中,我们可以看到原型对象的作用相当于模板,模板可以从它生成和创建多个对象。它的地位是相同的类的代码(代码)在java语言中,它是在Javascript中的类定义的核心。在下面的例子中,原型对象看上去更像是该类的代码。
复制代码代码如下所示:
var { { { {
INCREMENT_BY: 1,
增量:函数(x){
返回x + this.increment_by;
}
}
创建一个object.create(P);
var b = object.create(P);
console.log(a.increment(7)); / / 8
console.log(b.increment(9)); / / 10
在上面的例子中,原型对象定义了一个价值1的财产(P increment_by)和调用函数的增量,和对象A和B得到increment_by和增量从P函数模板。在调用对象A或B的增值功能,Javascript会尝试得到一个A或B increment_by(这个。increment_by);因为increment_by从P得到的,所以值1从模板采集,具有相同的值的变量,静态变量类似于java(静态变量),所以在使用变量名称的大写字母increment_by上面的例子。
在上面的例子中,所有的对象(属于同一类)从模板P创建完全相同的性质和行为。但事实上,对于不同的同一类的对象,他们有自己独特的属性和行为除了具有类定义的属性和行为。因此,如果你需要使用原型作为一类,你必须做出一定的定制每个从它派生的对象。
复制代码代码如下所示:
var { { { {
increment_by:1,
增量:函数(x){
返回x + this.increment_by + this.custom_increment_by;
}
}
创建一个object.create(P);
var b = object.create(P);
a.custom_increment_by = 0;
b.custom_increment_by = 1;
console.log(a.increment(7)); / / 8
console.log(b.increment(9)); / / 11
在这个例子中,对象A和B创建模板P有一个变量custom_increment_by不一定相等,而其增值的最终结果()函数的custom_increment_by.in总价值相关,定制新的对象的工作往往是在一个统一的功能进行。
复制代码代码如下所示:
var { { { {
increment_by:1,
增量:函数(x){
返回x + this.increment_by + this.custom_increment_by;
}
}
功能getincrementalclassobject(customincrementbyvalue){
incrementalobj = object.create VAR(p);
incrementalobj.custom_increment_by = customincrementbyvalue;
返回incrementalobj;
}
创建一个getincrementalclassobject(0);
var b = getincrementalclassobject(1);
console.log(a.increment(7)); / / 8
console.log(b.increment(9)); / / 11
所以,P(getincrementalclassobject)和原型对象功能完成了一个类的定义:通过调用getincrementalclassobject()函数获得原型对象是一个对象,并调用getincrementalclassobject()过程中的功能可以定制,这些新对象。值得注意的是,此时已定义的类没有类名,即增量为描述的方便。
回首在getincrementalclassobject做()函数,你可以看到,从增量类创建新对象的过程如下:
1。创建一个空对象,并将它的原型对象定义为p。
2。根据不同的参数值定制新的空对象。
三.返回已定制的新对象。
在Javascript中,类的定义和新对象的创建可以通过构造函数(构造函数)很快完成。
Javascript的构造函数(构造函数)
从增量类在这个例子中我们可以看到,代码的类两部分来创建原型对象作为模板的新定义,创建一个自定义函数来初始化新对象;从阶级通过三个进程创建一个新的对象:指定原始对象,新的对象初始化新的对象并返回/定制新的目标。在Javascript,所有这一切都可以通过构造函数(constructor)完成。
Javascript中的构造函数是一个函数(函数),它假定新对象的初始化函数,构造函数的原型用作模板来创建新对象:
复制代码代码如下所示:
函数的增量(customincrementbyvalue){
this.custom_increment_by = customincrementbyvalue;
}
incremental.prototype = { {
increment_by:1,
增量:函数(x){
返回x + this.increment_by + this.custom_increment_by;
}
}
var =新增量(0);
var =新增量(1);
console.log(a.increment(7)); / / 8
console.log(b.increment(9)); / / 11
通过新关键字,使用构造函数创建新对象的过程实际上经历了以下几个阶段:
创建一个新的空对象。
1。将对象的原型对象指向构造函数函数的原型属性。
2。将这个对象作为这个参数并执行构造函数函数。
三.这是在以前的getincrementalclassobject工作相同()函数。
类的名称
当一个对象被创建构造函数,相应的对象类的名称,这可以从instanceof运算符的结果验证。
复制代码代码如下所示:
console.log(一个是增量); / /真的
console.log(B是增量); / /真的
然而,instanceof运算符不确定对象是否是通过增量的构造函数创建。instanceof运算符只确定对象的对象是incremental.prototype.when有两个原型构造函数一样,instanceof运算符将返回到真正的统一,没有区别,是用来创建对象的构造函数之间。
复制代码代码如下所示:
功能incremental2(customincrementbyvalue){
this.custom_increment_by = customincrementbyvalue + 3;
}
incremental2.prototype = incremental.prototype;
console.log(一个是incremental2); / /真的
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。