一般来说谁调用上下文都指向谁,具体有以下几种情况:

1、函数用圆括号调用,函数的上下文是window

    注意:所有的全局变量都是window的属性,而函数里边定义的变量谁的属性也不是。

2、函数作为对象的方法,对象打点调用,此事函数的上下文就是这个对象

    

 

3、函数是事件处理函数、函数的上下文就是触发事件的对象

    

规律4、被定时器调用、函数上下文指向window

    

    

规律5、数组中存放的函数、被索引调用,this就是这个数组

    

         //5由于this指向函数

    arr[0]()  此时这个函数是从数组中枚举出来然后加上圆括号执行的,所以中中调用者可以认为是这个数组

————————————————————————————————————————————–

小题目:

  1、

    

  2、

    

    类数组对象 arguments被索引调用  原因他有顺序且没有数组的一些方法

    函数的length

      argument.callee   在函数内部得到函数自身 

       argument.callee.length==函数的长度  函数的长度是形参长度

      argument.length 实参个数

        这两个相等都是3

        

        

 

posted on 2018-05-12 12:25 菜鸟要上天。 阅读() 评论() 编辑 收藏

版权声明:本文为study-web原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/study-web/p/9028347.html