首页 > Web开发 > 详细

this关键字在JS中的作用

时间:2020-06-18 16:46:55      阅读:64      评论:0      收藏:0      [点我收藏+]

JS中this就是执行的主体(谁来执行的this就是谁)

如何确定this呢
this这个 keyword确实非常的让人困惑,历史故事让我们觉得其实有一个好方法可以理解.

检查 ‘ . ‘ 左边是谁invoke 这个函数. 例如 xiaoming.age(); age函数里面有this, 然后 ‘. ‘ 旁边是xiaoming , 那么this就是指向xiaoming了.这种叫做 Implicit Binding.

如果点旁边没有,那就检查有没有用到 bind, apply, call 这三种, 有的话就是调用此方法的对象. 这种叫做 explicit binding.

如果上面两个都没有就检查代码里面有没有用到new 这个keyword, 有的话那就是指向new左边的函数对象。 这种叫做new binding

上面三个都没有, 检查是不是有arrow function, 有arrow function的话就是, 那么指向是arrow function的lexical binding 的对象. 就是它的parent. 这种叫做 lexical binding

全部都没有,如果不是strict mode那就是window对象了。如果是strict那就是 error (undefined).

this关键字在JS中的作用

原文:https://www.cnblogs.com/blogst/p/13158161.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!