bind 就是在函数创建时绑定函数的this指向,在后面任何方法无法变更;
//工具函数
function bind(fn,_this){
var argArray=[].slice.call(arguments)
// 以数组形式保存第二个及其以后的参数
argArray=argArray.slice(2)
return function(){
// 以数组形式保存着当前函数的所有参数
var outArgArray=[].slice.call(arguments)
fn.apply(_this,argArray.concat(outArgArray))
}
}