人生若只如初见
每个人都有过去,但那也只是过去……
13年暑假,为了帮家里减少点负担我去工地当小工,帮抹灰的师傅们提灰,毕竟家里农村的,父母说大学每个月给我1000的生活费,虽然不是很多,但对我来说已经很满足了。
两个月后,我满怀期待的大学生活终于来了,其实那年高考并不理想,读了一个普通本科,心有不甘的来到大学,心里暗想,我要发奋图强努力学习,应该有人和我有相同想法吧,后来发现那也只是想想……报道的第一天,班上同学轮流做自我介绍,轮到我的时候,我只记得我当时很紧张,心跳的飞快,站在讲台的时候我结巴介绍完自己,还好讲台遮住了我那不听使唤的左腿,当时的我不善表达,有严重的社恐,加上农村出身的自卑感。
我其实很普通,没有人会把注意力刻意的放在普通的人的身上,轮到她自我介绍时,看到她的那一刻,第一次体会到了心动的感觉,兄弟们你们还能想起你第一次遇到喜欢的人的那种感觉吗?班上活跃的男生开始吹起了口哨,我目不转睛的盯着她,我将他的名字,来自哪里等等都牢牢的记在心里,现在我的脑海中依然能一帧一帧的播放那天的场景,她来自一个大城市的女孩,身高大约165左右,洋气,自信,漂亮.....
晚上宿舍,隔壁宿舍都在讨论她,而我只能默默的听他们讨论,我知道我从头到脚都配不上,她是白天鹅,而我就一癞蛤蟆,但癞蛤蟆是想吃天鹅肉的,兄弟们能体会到我那时心情吗?当然,十几年以来的第一次心动不会就这么草草收场……
后面我会继续讲述我的 爱而不得 卑微的爱 。陌生的人,请给我一只兰州
构造函数
LickDog 是构造函数 ding是LickDog的实例,
ding.proto===LickDog.prototype
function LickDog(name, lick) {
this.name = name;
this.like = lick;
}
LickDog.prototype.love = function () {
return this.like;
};
const ding = new LickDog("舔狗", "班花");
class
es6 中class 可以看做是构造函数的语法糖 ,底层还是构造函数
class LickDog {
constructor(name, lick) {
this.name = name;
this.like = lick;
}
love() {
return this.like;
}
}
const ding = new LickDog("舔狗", "班花");
其中 constructor 方法是类的构造函数,是一个默认方法,通过 new 命令创建对象实例时,自动调用该方法。
constructor和love方法一样都是挂载到了LickDog.prototype。
此时ding.constructor===LickDog LickDog.prototype.constructor = LickDog
接下来看看class的静态方法和静态属性 及里面的this
class LickDog {
constructor(name, lick) {
console.log(this);
this.name = name;
this.like = lick;
}
static love() {
return this.like;
}
}
const ding = new LickDog("舔狗", "班花");
舔狗们,明显能看出 LickDog.constructor里面有like方法 ,回想下LickDog.prototype.constructor = LickDog 说明like挂到了LickDog 而不是LickDog.prototype。
如果你想访问love 方法通过 LickDog.love() ,实例ding是无法访问到的love
静态方法love中里面的this是指向的是 LickDog 而constructor中的this指向的是ding
继承
class LickDog {
static love() {
return "班花";
}
}
class LickDog1 extends LickDog {}
静态方法是可以被继承的 ,但只能被子类去访问
静态方法和静态属性类似不过多介绍
super 理解
class LickDog {
constructor(name, lick) {
this.name = name;
this.like = lick;
}
love() {
return this.like;
}
}
class LickDog1 extends LickDog {
constructor(name, lick, money) {
console.log(this) //super(name, lick)会调用父类的constructor(name, lick) 所以在super之前获取this是会报错 拿不到父类对象
super(name, lick);
console.log(JSON.parse(JSON.stringify(this))); //不会报错的
this.money = money;
}
love1() {
// super能调用父类love 但super是拿不到 name和like的是undefind
return this.money + " 不配喜欢 " + super.love();
}
}
const ding1 = new LickDog1("舔狗", "班花", "6块");
兄弟们 love1()打印了 " 6元不配喜欢班花了" 穷难道不能拥有爱情吗? 好在super.love()能拿到值
原因是:super.love()
就相当于LickDog.prototype.love()
,而name和like是在LickDog实例上面,
super 当做对象则是 表示父类的原型对象
super 当做函数,示父类的构造函数,生成一个父类的this对象,所以super()后是可以拿到this
super称为基类,为啥这样叫我也不懂,下图我深拷贝了此时的this,