1:在全局作用域下 this对象指向的是window对象

例如:

js中关于this指向的问题的简单总结_this

结果如下:

js中关于this指向的问题的简单总结_this_02

2:在函数作用域下  

在非严格模式下:  this的指向依旧是window对象

例如:

js中关于this指向的问题的简单总结_this_03

结果如下:

js中关于this指向的问题的简单总结_this_04

在严格模式下:

this的指向是undefined

例如:

js中关于this指向的问题的简单总结_this_05

结果如下:
js中关于this指向的问题的简单总结_this_06

所以在函数里面,在严格模式下,this的指向或者值为undefined

3:在对象里面

this的指向是当前该对象

例如:

js中关于this指向的问题的简单总结_指向问题_07

结果如下:

js中关于this指向的问题的简单总结_指向问题_08


关于this指向有个经典的问题:

请看:

js中关于this指向的问题的简单总结_this_09

在非严格模式下,结果如下:

js中关于this指向的问题的简单总结_this_10

如果在严格模式,例如:

js中关于this指向的问题的简单总结_this_11

结果如下:

js中关于this指向的问题的简单总结_指向问题_12

那如何让函数里的那个函数fn也能使用当前obj这个对象了,比喻说要在fn里输出name的值,该怎么写?

第一种方法:

js中关于this指向的问题的简单总结_this_13

第二种解决方法:(使用箭头函数能够很好的解决)


js中关于this指向的问题的简单总结_指向问题_14