1.apply作用:借用方法
第一个参数:表示被借用方法种this的指向,或则理解为:那个对象来借用这个方法
第二个参数:是数组或伪数组,数组中的每一个元素都会作为被借用方法的参数
fn.apply({},[1,2,5]) // fn的this指向{}
根据apply封装一个获取对象类型的函数
function getType(obj) {
return Object.prototype.toString.apply(obj).slice(8, -1).toLowerCase()
}
getType([]); [Object Array ] -->array
2.call方法的作用和apply只是第二个参数形式不一样 fn.call({}, 1,1,2,3)
3.bind会返回一个新的函数
能够将指定的参数对象与函数绑定到一起
var newFn = fn.bind({})