Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3647692
  • 博文数量: 365
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2522
  • 用 户 组: 普通用户
  • 注册时间: 2019-10-28 13:40
文章分类

全部博文(365)

文章存档

2023年(8)

2022年(130)

2021年(155)

2020年(50)

2019年(22)

我的朋友

分类: Java

2020-12-04 17:18:53

class:类,是对象的模板。(或者叫:原型) this:当前对象。 以上定义,与java中的概念是相同的。 但是,由于javascript语言自身的特点,关于classthis,还需要做进一步说明。

注意:在javascript中,在定义类完毕之后,还可以再添加属性和方法。

属性与方法添加到this

class Point {

    constructor() { }}let p = new Point();

p.username = 'zhangsan';

console.log(p.username);    //zhangsan

上面代码中,Point类定义之后,给对象 p 又添加了一个username属性。这是完全可以的。 但是要注意:此种方式,仅仅是给对象p添加一个属性,而不是给类添加一个属性。 或者说: 此种方式,仅仅是给对象pthis添加一个属性,而不是给类添加一个属性。

class Point {

    constructor() { }}let p1 = new Point();

p1.username = 'zhangsan';

console.log(p1.username);   //zhangsan

let p2 = new Point();

console.log(p2.username);   //undefined

上面例子中,只给对象p1添加了username属性,但没有给类添加属性。 所以,p2对象中并没有username属性。

属性与方法添加到类上

class Point {

    constructor() { }}

Point.prototype.username = 'zhangsan';

let p1 = new Point();

console.log(p1.username);   //zhangsan

let p2 = new Point();

console.log(p2.username);   //zhangsan

上面代码中,使用 Point.prototype方式,给类添加属性。 这样,类的所有对象(p1p2)就都有username属性了。

javascript中,每一个类都有一个prototype,它就是类的原型,类的所有实例共享一个原型。如果想访问这个原型,可以使用proto指针。

样例代码:

 

阅读(2310) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~