面向对象详解
对象
- JavaScript 中的所有事物都是对象:字符串、数值、数组、函数此外,JavaScript 允许自定义对象。
- 对象只是带有属性和方法的特殊数据类型。
创建 JavaScript 对象
- 创建单一对象
- 构造函数创建对象
直接创建单一对象
单一对象适用于对象数量较少,创建属性,方法都不同的对象。
下面我使用了我们常用的 var 创建,例如我们创建一个dog对象
var dog = {
name = "jack"
}
构造函数创建对象
函数创建对象适用于属性大多相同,需要较多对象时使用。
function Dog(name){
this.name=name;
}
Dog.prototype.run = function(){
console.log("蹦蹦跳跳")
}
var dog = new Dog("jack")
构造函数的名字首字母需要大写,之后再用.prototype.方法 绑定一个方法,最后创建dog对象需要在构造函数Dog前面加上一个new,传进一个name参数。
在这里,我们需要明确一个概念,就是对象和类
- 类是对象泛化(抽象)出来的
- 对象是由类创建出来的
- 对象叫类的具体实例
父子类
父类
function A(x,y){
this.name=x,
this.age=y
}
A.prototype.run=function(){
console.log("跑")
}
子类-继承
如何让子类继承父类的属性和方法,那么我们需要想下面这样做
function B(x,y){
A.apply(this,arguments)
}
// 使B继承了A的属性
B.prototype=object.create(A.prototype)
// 使B继承了A的方法
那么我们又如何添加B自己的属性和方法呢?
我们只需要向构建函数时候那样添加就可以了
function B(x,y,z){
A.apply(this,arguments);
this.hair=z;
}
B.prototype=object.create(A.prototype);
B.prototype.jump=function(){
console.log("跳");
}
你学会了吗?
喜欢的点个赞呗。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。