js基础-题目1

准备找工作了,整理下之前做的有点疑惑的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

上一篇:彻底理解JS的原型和原型链


下一篇:JS数组对象的方法介绍及使用(全)