[JS]|[JS] 类 class入门使用
class是用于创建对象的模板。
(在js中构造函数也能批量创建对象,要注意函数有声明提升,而类没有声明提升,必须先定义类,在创建类的实例)
定义Animal类。类也是一个函数。
文章图片
typeof(Animal) // function
文章图片
对一个类本身来说,要注意以下四点:
1、构造函数constructor,这个函数用户在创建实例的时候传入参数。(new Animal("Jerry", 5))
2、方法,构造函数内部定义方法不需要function关键字。
3、setter、getter。setter和getter都是有特殊功能的属性,定义的时候分别使用set 关键字和get 关键字来定义,这二者定义的形式很像函数,但它们的用法都是属性的用法(object.key = value)
4、静态方法,在一个静态方法里调用另一个静态方法可以使用this,这里的this不绑定实例,而是绑定类本身;静态方法要用类调用,而不能用实例调用。
文章图片
【[JS]|[JS] 类 class入门使用】子类 (使用 extends 创建子类)
文章图片
要注意:
1、子类的constructor函数中如果需要使用this,必须先执行super()方法初始化this。super初始化的参数应与父类constructor的参数相同,这样创建子类实例的时候才能对应上。
2、子类中与父类的同名方法是覆盖关系,即子类方法覆盖父类方法。
3、子类与父类同名getter和setter是覆盖关系。
4、子类与父类的同名静态方法也是覆盖关系。
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 为什么你的路演总会超时()
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- thinkphp|thinkphp 3.2 如何调用第三方类库
- 使用composer自动加载类文件
- 一个健康的APP和健全的人格大体类似
- 种树郭橐驼传(文言句式+古今异义+词类活用+通假字)
- 归乡-序章(世界伊始,人类无所依靠,我的故事就从这里开始...)
- jQuery插件
- 第十六天(请介绍一件让你非常自豪的事情,(不能是职业类的),什么原因感到自豪。)