javascript之this指向

本文介绍了JavaScript中this关键字的三种指向规则:当函数中的this未被上一级调用时指向window;函数中的this被上一级调用时指向上一级函数;函数包含多个对象时,即使被最外层调用,this仍指向它的上一级对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 情况一:

     如果一个函数中有this,但是没有被上一级调用,this指向window

    例:

     function a(){

          var num='11';

          console.log(this.num);  //undefined

          console.log(this)           //window

    }

    a()

情况二:

    如果一个函数有this,该函数被上一级调用,this指向上一级函数

    例:

     var o={

         a:'11',

         b:function(){

             console.log(this.a);     //11

             console.log(this)         //o

        }

   }

   o.b();

情况三:

   如果一个函数中有this,且该函数包含多个对象,尽管这个函数被最外层调用,this仍指向它的上一级对象

   例:

   var o=function(){

         a:'11',

         b:function(){

              a:'22',

              c:function(){

                      console.log(this.a);

                      console.log(this)

              }

         }

    }

    o.b.c();

    //22    b{}

    var j=o.a.b();

    j()

   //undefined  window

    赋值给变量j的时候并没有执行所以最终指向的是window

转载于:https://www.cnblogs.com/wdxue/p/6898184.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值