一、this一般只出现在函数内部
设定this的意义:同一个函数在不同坏境下执行可以有不同的效果
只有函数在执行的时候才能去判断this的指向
函数内部的this指向当前函数的执行环境(函数所挂靠的实例对象)
function sayProp(){
console.log(this.name);
}
const obj={
name:'张三',
sayProp
}
const obj1={
name:'李四',
sayProp
}
console.log(obj.sayProp());//张三
console.log(obj1.sayProp());//李四
二、super一般只出现在函数内部
设定super的意义:同一个函数在不同坏境下执行可以有不同的效果
只有函数在执行的时候才能去判断super的指向
函数内部的super指向当前函数的执行环境(函数所挂靠的实例对象)所属类的原型(prototype)
书写时只能写在实例的方法里面,不能写在单独的函数中
Object.prototype.abc=345;
const obj={
name:'张三',
sayProp(){
console.log(super.abc);
console.log(this.name);
}
}
obj.sayProp(); //345 张三
super关键字: 用于访问和调用一个对象的父对象上的函数