bind/apply/call
var a = {
name:'szx',
fn:function(arg1,arg2){
console.log(this.user);
console.log(arg1+arg2);
}
}
var b = a.fn
var c = b.bind(a)(1,1) // 1、bind用法,需要回调执行
b.apply(a,[1,1]) // 2、apply用法
b.call(a,1,1) // 3、call用法
练习
定义一个 log 方法,让它可以代理 console.log 方法
function log(){
var args = Array.prototype.slice.call(arguments); //arguments伪数组,转化为标准数组
args.unshift('(app)');
console.log.apply(console, args);
};
log("hello","world"); //(app) hello world