函数上下文 为什么要讲到函数上下文: 确定this的指向谁 怎么做: this指向当前对象,确定当前对象是谁,要看上下文,看看是谁调用的 this可以写在什么地方: 任何函数中都能写this,this指向当前对象,当前对象是谁,在调用时决定 this指向对象: 1、点击法,中括号法调用的, obj.fn() obj['fn']()//fn中的this指向obj对象 arguments[0](1,2,3)//arguments[0]表示一个方法,这个方法的this指向arguments对象 2、事件源 3、new对象时, this指向新创建的对象 this指向window 单独执行方法的,默认省略了window 内部函数的this指向window 事件处理函数不一定是匿名函数,匿名函数只是简写 apply或call 为什么用这2个方法, 给方法中的this指向对象,有时候调用方法需要绑定对象才能调用 sum.call(1,2,3,4)//调用sum函数,传入参数挨个传入 sum.call(obj,1,2,3,4)//给sum方法的this指向obj对象,并调用sum函数,这个obj对象可以是对象,函数等广义上的对象,但不能是基本类型数据 sum.apply(obj,[1,2,3,4])//调用函数,传入参数是数组