博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript之this指向
阅读量:6229 次
发布时间:2019-06-21

本文共 572 字,大约阅读时间需要 1 分钟。

 情况一:

     如果一个函数中有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

你可能感兴趣的文章
下载并安装oracle 11g客户端
查看>>
bzoj 1296 DP
查看>>
HDU 4757 可持久化trie树
查看>>
Js日期处理函数
查看>>
织梦的系统还原错误---找不到模板错误
查看>>
semat内核阿尔法的状态图
查看>>
5秒之后关闭广告
查看>>
spring-boot入门
查看>>
Oracle 11g AMM与ASMM切换
查看>>
jobtracker对提交作业的初始化
查看>>
虚拟机中安装完Lunix系统后,开机黑屏,只显示一个-,解决方法
查看>>
UVA458 The Decoder
查看>>
Qt编写OpenMP程序--双循环
查看>>
HDU2289:Cup(二分 + 数学)
查看>>
高并发计数器、红包、二维码使用如下
查看>>
洛谷 P1536 村村通(并查集)
查看>>
获取登录的IP或者信息
查看>>
selenium的那些事--运行报错
查看>>
hudson新建subversion项目的时候认证时弹出Authentication was not acknowledged
查看>>
[Reprint]C++函数前和函数后加const修饰符区别
查看>>