call、apply、bind三者比较
var obj={a:1}; var foo={ getA:function(item1,item2){ return this.a+item1+item2 } } // apply绑定参数为数组,一一对应函数的所需参数 console.log(foo.getA.apply(obj,[2,3])) // 6 // call绑定参数为一一对应函数的所需参数 console.log(foo.getA.call(obj,2,3)) // 6 // 使用bind为定义非立即调用函数 console.log(foo.getA.bind(obj,2,3)) // ƒ (item1,item2){return this.a+item1+item2} console.log(foo.getA.bind(obj,2,3)()) // 6