JS中的动态指向this(运行环境)

本文介绍了JavaScript中this的动态指向特性,根据不同的运行环境,this可能指向全局对象window、对象实例或者通过call/apply方法进行改变。在全局作用域和预编译阶段,this指向window。在函数调用中,如obj.f(),this将指向obj;而直接调用函数fun(),this则指向window。通过call和apply可以显式地改变函数执行时的this指向。
摘要由CSDN通过智能技术生成

JS中的动态指向this

this会根据运行环境的改变而改变

1.预编译过程this-->window

 function  test(c) {
       console.log(this);
        var a = 23;
        function b() {
        }
   }
   test(1);
 AO{
       arguments:[1],
       this:window,
       c:1,
       a:undefined,
       b:function{
       }
   }

2.全局作用域里this-->window

 function fun(){
        console.log(this);
        console.log(this.s);
    }
    var obj = {
        s:'1',
        f:fun
    }
    var s = '2';
    obj.f(); 
    fun(); 

 

调用时:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值