zoukankan      html  css  js  c++  java
  • javascript之this指向

     情况一:

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

  • 相关阅读:
    LeetCode: 389 Find the Difference(easy)
    LeetCode: 669 Trim a Binary Search Tree(easy)
    C++: 内联函数
    C++: STL迭代器及迭代器失效问题
    LeetCode: 371 Sum of Two Integers(easy)
    etcdctl命令
    Etcd介绍
    docker基础镜像打包
    docker常见问题总结
    更改容器内时区
  • 原文地址:https://www.cnblogs.com/wdxue/p/6898184.html
Copyright © 2011-2022 走看看