1.call()
第一個參數:this指向
如果要傳參,后面依次是參數,例:
function fn(x,y){ console.log(this); } var obj = { name:"zs" } fn(1,2); fn.call(obj,1,2);
2.apply()
與第一種方法不同的是,用數組的形式表示參數
function fn(x,y){ console.log(this); } var obj = { name:"zs" } fn(1,2); fn.apply(obj,[1,2]);
3.bind()
bind 只改變this指向,不會調用函數
function fn(x,y){ console.log(this); } var obj = { name:"zs" } fn(1,2); fn.bind(obj,1,2)();
