一、复习
1.1 call和apply
call和apply是用来执行上下文运行函数的。
我们写了一个函数,比如
function fun(){
}
此时如果运行它,可以直接加圆括号运算符:
fun()
此时函数的上下文就是window对象。所谓的上下文就是函数中出现的this是谁。
有很多时候,我们需要让函数指定上下文运行,此时就要使用call或者apply,它们两个功能完全相同。
比如:
//这是一个函数,功能是让上下文对象的a属性变为100 //这个函数到底给谁的a属性变为了100,此时不知道,要看函数调用的时候指定的上下文是谁。 function fun(){ this.a = 100; }
//小明对象 var xiaoming = { a : 8, b : 9 }
//小红对象 var xiaohong = { a : 10, b : 3 }
//运行fun函数,同时执行xiaoming对象是fun函数的上下文 fun.call(xiaoming);
console.log(xiaoming); console.log(xiaohong); |