javascript中对this的理解

在JavaScript中,this不是固定不变的,它的指向取决于上下文环境,一般的,认为this指向使用它时所在的对象。主要有以下几类指向:

    在方法中,this 表示该方法所属的对象。 如果单独使用,this 表示全局对象。 在函数中,this 表示全局对象。 在函数中,在严格模式下,this 是未定义的(undefined)。 在事件中,this 表示接收事件的元素。 类似 call() 和 apply() 方法可以将 this 引用到任何对象。

this代表的是 执行这个this代码的环境对象 ;this在脚本中代表的是window全局对象

eg.1

此处打印的便是karen

eg.2

eg.3

eg.4

为什么要打印this?

this代表了一个对象 常常在项目中我们要给一个对象操作成员

fn() ->window 调用者是window

obj.fn()->obj

obj.xx.xx2()->obj.xx

(function(){})()->window

fn()()->window

fn()[1]()->fn()返回的数组

在js程序中无论多么复杂的程序 this只需要看离(嵌套级别)最近的function的这个单词的调用者

面试题

eg

经验分享 程序员 微信小程序 职场和发展