【javascript笔记】this in javascript

之前一直对this的理解就是大概知道是个什么东西.最近看到MDN上面的介绍,就记录一下。
mdn官方英文解释:The this keyword refers to the function’s execution context.

全局上下文

  • 全局上下文咱们可以理解为 在 [Object Function] 和 [Object object] 类型 以外的所有 this 对象。
    chrome devTool下 this为全局window对象.
    node 环境下 this为全局global对象

如果this 没有处于函数内部,则是位于全局上下文,全局上下文里面this指代全局对象。

    //chrome F12  
    window===this  //true

    //node 
    global===this  //true

函数上下文
函数里面的this我理解的是谁调用这个函数,这个this就是指代的调用该函数的对象。特殊情况,构造函数里面的this对象以及事件处理函数里面的this,分别代表着返回的new对象,和触发事件的对象。

    (function(){console.log(this==global)})()  //node环境下为true
    (function(){console.log(this==window)})()  //浏览器环境下为true
但是构造函数有点特殊,当一个函数被作为一个构造函数来使用
(使用new关键字),它的this与即将被创建的新对象绑定。

参考资料请点击:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/this#构造函数中的_this

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值