function f1(a, b){
console.log(a + b);
console.log(this);
}
f1(10, 20);
函数作用方法被调用时,this代表调用当前函数的对象
默认是window
var people =new Object();
函数本身也是对象,也可以调用自身的方法
call方法:指定this调用当前的函数,第一个参数是指定的this是谁,后两个参数是调用函数需要传递的;
f1.call(people, 2, 3);
apply方法和call功能一模一样,只是后面的传参方式不同
f1.apply(people, [2, 3]);
bind方法作用是返回一个新函数,这个新函数的功能和原来函数相同,但是该函数执行时候的this是bind绑定的对象
var f2 =f1.bind("绑定的this");
function People(name, age) {
// people对象可以调用的
this.work = function () {
}
}
// window
this.work = function () {
}
var f3 = this.work.bind(people);
-
this默认在html文件中指的是window
-
this在单独的js文件中this指的是window对象
-
当对象调用方法的时候在方法内部的this指的是当前调用者
-
可以在开发过程中通过使用call,apply,bind方法改变this的指针指向,但是一定要清楚每一次改变之后的指针位置