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

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

例如:

1.jpg

结果如下:

2.jpg

2:在函数作用域下  

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

例如:

4.jpg

结果如下:

3.jpg

在严格模式下:

this的指向是undefined

例如:

5.jpg

结果如下:
6.jpg

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

3:在对象里面

this的指向是当前该对象

例如:

7.jpg

结果如下:

8.jpg


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

请看:

9.jpg

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

10.jpg

如果在严格模式,例如:

12.jpg

结果如下:

11.jpg

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

第一种方法:

13.jpg

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


14.jpg

猜你喜欢

转载自blog.51cto.com/11871779/2129522