首页 > 技术文章 > js中的this

liubingboke 2018-06-04 14:31 原文

 

js中的this与其它编程语言中的不同,js中的this指向的对象不是固定的,而是可以改变的(通过function对象的call、applybindjQuery的proxy等可以改变this指向)。以下是this的默认指向:

  1. 定义在全局作用域中的普通函数中的this指向window对象(严格模式下本条无效,参见后面严格模式的说明)
  2. 事件处理函数中的this指向触发事件的标签元素
  3. 构造函数中的this指向当前正在创建的对象(严格模式下必须使用new)
  4. 原型中的函数内的this指向当前实例

其它框架中的函数内的this都有特定的指向,如jQuery.each(func)中func中的this指向当前迭代的标签元素对象。

推荐阅读