面试题
讲一讲js的this指针?

讲一讲js的this指针?

this表示当前上下文,this是在运行时确定的,而不是在定义时确定的

  • 全局的this指针指向windows。在严格模式下,全局的this指针是undefined。
  • 在函数中,this 表示全局对象。在严格模式下,this是undefined。
  • 当一个方法被调用时,this被绑定到这个对象上。
  • 如果一个函数当构造函数用,函数中的this会被绑定到这个新对象上。
  • 事件的this指针指向元素本身。
  • call/apply/bind,this指针会绑定指定的对象。
  • 箭头函数中的this是指向箭头函数外的this,即箭头函数没有自己的this指针。

闭包是什么?

闭包是指一个函数可以访问和使用定义在函数外部的变量,这些变量会始终保持在内存中,能提供很好的封装和抽象。 但是也可能会导致内存泄漏。