1、ES6中有面向过程和面向对象两种编程方法
面向过程 优点:性高高; 缺点:没有编程对象易维护,易复用
面向对象 优点:易维护,易复用,易扩展; 缺点:性能比编程过程低
总结:如果是一些小的项目建议用面向过程,一些大项目,多人协作的建议用面向对象。
2、类的创建和实例的创建
<script>
// 类
class Father{
constructor(x,y){
this.x = x;
this.y = y;
}
};
// 实例
let son = new Father(1,2);
</script>
3、类的继承 需要super()方法,继承函数的话需要super.son()调用
<script>
// 类
class Father{
constructor(x,y){
this.x = x;
this.y = y;
}
som(){
console.log(this.x + this.y);
}
};
// 继承
class Son extends Father{
constructor(x,y){
super(x,y)
}
soms(){
console.log(super.som())
}
};
// 实例
let son = new Son(1,2);
son.som();
son.soms();
</script>
4、this的指向问题 this指向调用的本身; 如果要改变this指向,在外部声明即可
<button>点击</button>
<script>
var that;
// 类
class Father{
constructor(x,y){
that = this;
this.x = x;
this.y = y;
this.btn = document.querySelector('button');
this.btn.onclick = this.sum;
}
sum(){
console.log(this);
console.log(that.x);
}
};
let s = new Father(1,2);
s.sum();
</script>