整理下之前做的有点疑惑的js基础题目和大家分享以下,如果大家觉得有用,别忘了点一下赞哦
class的题目
class Person{
constructor(name){
this.name = name
}
sayHello1 = ()=>{
console.log(this.name)
}
sayHello2(){
console.log(this.name)
}
}
const p = new Person("小刘")
p.sayHello1()//小刘 --flag1
Person.prototype.sayHello1()//报错
Person.prototype.sayHello1.call(p)//报错
p.sayHello2()//小刘 --flag
Person.prototype.sayHello2()//undefined
Person.prototype.sayHello2.call(p)//小刘
这题的主要问题是我标记的
flag1处和flag2处的this有什么区别?
箭头函数 this指向为上一层函数的this
方法 Person.prototye.sayHell02