ES6实现了class关键词,使js模块化编程更加简洁, 下面是关于class继承的一小点总结, 详细请参照这位大神的详细介绍(点击)
具体class的原理这边就不写了, 看上面的链接即可, 这边只是个人的一点总结吧
class类的this
在JS中this关键字用的非常多, jq中的this, 原生js的this和class中的this代表的含义都不一样, 问题就出现在如果这3中情况都用在一起,怎么去区分就是一个大问题了,用的不好,就像以下代码, 就会报错!
class Test{
constructor(){
this.age = 10; // 类属性
$('.btn').click(function(e){
alert(this.age);
});
}
}
这样用new出实例之后直接报错的, 因为在jq的click中this指的是当前被点击的Element, 在内部的回调函数中无法访到类的属性,这样就造成了混淆, 根据别人的资料总结了 一个可用的简单方法来区分this
方法1: 利用ES6的=>来写回调函数
class Test{
constructor(){
this.age = 10; // 类属性
$('.btn').click((e)=>{
alert(this.age);