JS中this的指向

本文详细介绍了JavaScript中this的概念,它是一个动态指向当前函数运行环境的指针。在全局环境下,this指向全局对象window。在函数内部,this的指向取决于严格模式或非严格模式。在对象中,this指向调用该方法的对象,即使在多层嵌套的情况下。在构造函数中,this指向新创建的实例。而在原型链中,this保持其原本所属的对象。
摘要由CSDN通过智能技术生成

this的概念:

         this 魔术变量,在不同的场景下表示不同的对象

  1. 在js中,this的意思为“这个;当前”,是一个指针型变量,它动态指向当前函数的运行环境。

  2. 在不同的场景中调用同一个函数,this的指向也可能会发生变化,但是它永远指向其所在函数的真实调用者;如果没有调用者,就指向全局对象window。

一、全局环境下的this指向 

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

 

二、函数内的this

        .普通函数内的this分为两种情况,严格模式下和非严格模式下。

1. 严格模式下:

直接yange()调用函数,this指向undefined,window.yange() 调用函数this指向window。因此,在严格模式下, 我们对代码的的调用必须严格的写出被调用的函数的对象,不可以有省略或者说简写

2. 非严格模式下:

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

三、对象中的this

        对象内部方法的this指向调用这些方法的对象,也就是谁调用就指向谁。

1.一层对象:

 

调用boj.say()方法;返回值为  '阿萨' ,说明此时this指向obj。

2. 二层对象:

 调用say2()方法 , obj.obj2.say2() 返回值为 ' 萨满 ' ,说明sky2() 方法中的this指向obj2

总结:

        1.对象中 this的指向只和调用它的对象有关。

        2.多层嵌套对象中 , 内部方法的this指向离被调用函数最近的对象.

四.构造函数中的this

                构造函数中的this是指向实例。

          得出 , 构造函数中的 this 指向构造函数的下创建的实例化对象.

五. 原型链中的this

                this这个值在一个继承机制中,仍然是指向它原本属于的对象,而不是从原型链上找到它时,它所属于的对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值