类和对象
对象
对象是一组无序的相关属性和方法的集合,所有的事物都是对象
对象由属性(事物的特征)和方法(事物的行为)组成
类 class
类抽象了对象的公共部分 泛指的某一大类
创建类
语法:
class name{
//class body
}
创建实例:
var xx=new name();
类constructor构造函数
constructor()方法是类的构造函数(默认方法),用于传递参数,返回实例对象,通过new命令生成对象实例时,自动调用该方法
类添加方法
在类里面添加函数 但不需要写function
类的继承
字类可以继承父类的一些属性和方法
语法:
class Father{//父类
}
class Son extend Father{//子类继承父类
}
super关键字
用于访问和调用对象父类上的函数。可以调用父类的构造函数,也可以调用父类的普通函数
super必须在子类this之前调用
类三个注意点
1.必须先定义类,才能通过类实例化对象
2.类里面的共有属性和方法一定要加this使用
3.类里面的this指向问题
construction里面的this指向实例对象,方法里面的this指向这个方法的调用者
构造函数和原型
构造函数是一种特殊的函数,用来初始化对象,即对象成员变量赋初始值,它与new一起使用
使用构造函数注意点
1.构造函数用于创建某一类对象,其首字母要大写
2.构造函数要与new一起使用
new的执行
1.在内存中创建一个新的空对象
2.让this指向这个新的对象
3.执行构造函数里面的代码,给这个新对象添加属性和方法
4.返回这个新对象
实例成员:在构造函数内部创建的对象成员,只能由实例化对象来访问
静态成员:在构造函数本上添加的成员,只能由构造函数本身来访问
构造函数原型prototype
如果修改了原来的原型对象,给原型对象赋值的是一个对象,必须手动的利用constructor
每一个构造函数都有一个prototype属性,指向另一个对象
将不变的方法直接定义在prototype对象上,所有对象的实例都可以共享这些方法
原型就是对象,原型的作用是共享方法
对象原型proto
对象都会有一个属性proto指向构造函数的prototype原型对象与proto对象原型是等价的
constructor构造函数
对象原型和构造函数原型对象里面都有一个属性constructor属性
constructor主要用于记录对象引用于哪个构造函数,可以让原型对象重新指向原来的构造函数