function add(x,y,z){
return 'a'+a+'b'+b+'c'+c;
}
var a=add.bind(null,10,15);
a(); //a 10 b15 cundefined
那么问题来了!, 如何留着中间的 显示a10 bundefined c 15
function adaptor(x, y, z) {
var args = [].slice.call(arguments, 0);
swap(args[1], args[2]); // 交换值,自己实现。
return add.apply(this, args);
}
没有直接办法,有这种需求就应该变更参数顺序,或者用另外一个函数做适配调换参数