this指向的基础使用

浅析this指向

  • 前言
  • 一、this的指向使用?
  • 二、this的概念
    • 1.在js中,this的意思为“这个;当前”,是一个指针型变量,它动态指向当前函数的运行环境。
    • 2.在不同的场景中调用同一个函数,this的指向也可能会发生变化,但是它永远指向其所在函数的真实调用者;如果没有调用者,就指向全局对象window   

           普通函数:关于this,谁调用就指向谁,没有调用者,就指向全局对象window。

           箭头函数:箭头函数的this指向于函数作用域所用的对象。


  this的使用

一、全局环境下this的使用

在全局作用域下this始终指向全局对象window,无论是否是严格模式!

二、函数下的this指向

1.普通函数下this分两种,严格模式和非严格模式

严格模式下:

function  point(){
  'use strict'
  console.log(this);
}
 point(); //undifined
 window.point(); //window

直接调用指向undefined, window,point()调用指向window

非严格模式下:

 非严格模式下,通过test()和window.test()调用函数对象,this都指向window

2.箭头函数中的this

箭头函数:this指向于函数作用域所用的对象。

代码如下(示例):

var pointobj = {
     a:'小甜甜',
     functions: () => {
         console.log ("对象:",this) //window {postMessage:,...}
}

声明的是全局变量Obj,this指向箭头函数所在全局作用域的对象,即indow对象。

案例

1.由于show函数是箭头函数,所以自身不能绑定this,因此找它的上一级作用域。如果父级作用域还是箭头函数,就再往上找,一层一层的直到直到this的指向。

2.window.show()返回值是window,所以this此时指向window;

3.window.obj.show(),obj是对象,非箭头函数,所以找到这里就停止了,this绑定到obj上。window调用obj,所以obj中的this也指向window。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值