当前位置: 首页 > news >正文

教做黏土手工的网站安徽黄山旅游攻略

教做黏土手工的网站,安徽黄山旅游攻略,百度网址大全官网旧版,网络营销推广方式有哪些基本介绍 1. constructor constructor()方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法。 一个类必须有constructor()方法,如果没有显式定义,一个空的constructor()方法会被默认添加。如: class Po…

基本介绍

1. constructor

constructor()方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法。

一个类必须有constructor()方法,如果没有显式定义,一个空的constructor()方法会被默认添加。如:

class Point {}// 等同于
class Point {constructor() {}
}

类必须使用new调用,否则会报错。如:new Point()

类的属性和方法,除非显式定义在其本身(即定义在this对象上),否则都是定义在原型上(即定义在class上)。

class Point {constructor(x, y) {this.x = x;this.y = y;}toString() {return '(' + this.x + ', ' + this.y + ')';}
}var point = new Point(2, 3);point.toString() // (2, 3)point.hasOwnProperty('x') // true
point.hasOwnProperty('y') // true
point.hasOwnProperty('toString') // false
point.__proto__.hasOwnProperty('toString') // true

实例属性也可以按照如下方法去写:

class IncreasingCounter {_count = 0;get value() {console.log('Getting the current value!');return this._count;}increment() {this._count++;}
}

2. 存取函数

在“类”的内部可以使用get和set关键字。如:

class MyClass {constructor() {}get prop() {return 'getter';}set prop(value) {console.log('setter: '+value);}
}let inst = new MyClass();inst.prop = 123;
// setter: 123inst.prop
// 'getter'

3. 属性表达式

类的属性名,可以采用表达式方式书写。如:

let methodName = 'getArea';class Square {constructor(length) {}[methodName]() {}
}

4. 静态方法和静态属性

类中也可以定义静态方法,静态方法通过关键字static定义。类相当于实例的原型,所有在类中定义的方法,都会被实例继承。但静态方法不会,如果定义了static类型,就表示该方法不会被实例继承,而是直接通过类来调用,

class Foo {static classMethod() {return 'hello';}
}Foo.classMethod() // 'hello'var foo = new Foo();
foo.classMethod()
// TypeError: foo.classMethod is not a function

5. 私有属性

ES6的私有属性是在变量名前加#来定义。私有属性只能在类的内部使用,如果在类的外部使用,就会报错。

6. in运算符

前面说过,直接访问某个类不存在的私有属性会报错,但是访问不存在的公开属性不会报错。这个特性可以用来判断,某个对象是否为类的实例。

继承

ES6中通过extends关键字实现继承。如:

class Point { /* ... */ }class ColorPoint extends Point {constructor(x, y, color) {super(x, y); // 调用父类的constructor(x, y)this.color = color;}toString() {return this.color + ' ' + super.toString(); // 调用父类的toString()}
}

父类所有的属性和方法,都会被子类继承,除了私有的属性和方法。子类无法继承父类的私有属性,或者说,私有属性只能在定义它的 class 里面使用。如:

class Foo {#p = 1;#m() {console.log('hello');}
}class Bar extends Foo {constructor() {super();console.log(this.#p); // 报错this.#m(); // 报错}
}

父类的静态属性和静态方法,也会被子类继承。如:

class A {static hello() {console.log('hello world');}
}class B extends A {
}B.hello()  // hello world

上面代码中,hello()是A类的静态方法,B继承A,也继承了A的静态方法。

注意,静态属性是通过软拷贝实现继承的。

http://www.yayakq.cn/news/992756/

相关文章:

  • 门户网站制作全包运城seo招聘
  • 是可以随时修改网站内容的.360推广助手
  • 北京网站制作闪快怎么做类似淘宝网站吗
  • 网站广告推广价格珠宝网站官网建设需求
  • 做自己的首席安全官的网站app定制开发制作
  • 查询网站是哪家公司做的东莞轻推网络科技有限公司
  • 网站建设策划案模板手机网站菜单设计模板
  • 谷歌翻译做多语言网站找哪个网站做摩配
  • 如何在网站上做网上亮照做空比特币的网站
  • html简单动画代码seo结算系统
  • 中国建设银行威海分行网站韩国设计教程网站
  • 建站一条龙的服务流程是怎么样的wordpress恢复源代码
  • 望野 王绩网站优化快速排名软件
  • 山东住房和城乡建设局网站首页百度联盟 网站备案信息
  • 驻马店百牛网站建设网站模板库免费
  • 网站建设的可用性免费网站后台
  • 男女做羞羞漫画网站颜色搭配的网站
  • 海南专业做网站的公司wordpress do_action 返回值
  • 网站制作培训机构微信怎么开店
  • 中山网站百度优化宁波建设网证书查询平台官网
  • 南阳企业网站wordpress去
  • 秦皇岛手机网站制作公司如何建设自己的网站 知乎
  • google网站dw做的网站解压后为什么没了
  • 没网站做推广自己电脑上做的网站 怎么让别人看
  • 安庆专业网站建设公做信息图的免费网站
  • 会计信息网站建设的意思网站与微信对接
  • 怎么做教育培训网站万众城网站建设
  • 防止网站扫描wordpress模板获取数据库
  • 淘宝网站的推广与优化汽车可以做哪些广告视频网站
  • php网站开发外文翻译如何在淘宝客上做自己的网站