apply 绑定数组
call为对象
fn.apply(thisContex,arguments)
fn.call(thisContext,obj)
var a=fn.bind(thisContex)
不用bind的代码
function bind(f,o){
if(f.bind) return f.bind(o);
else return function(){
return f.apply(o,arguments);
}
}
使用
- apply与call是立即执行的而bind返回的是一个函数
- 在ES5严格模式下,call,apply第一个参数都会被当作this,哪怕是null和undefined。而在es3和非严格模式下传入undefined和null会被替换为全局对象