问答详情
源自:6-4 [JavaScript]函数属性arguments

比如3个参数 1 2 3 如何用bind 绑定13 而留着2

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  


提问者:青栞 2015-04-08 15:38

个回答

  • Bosn
    2015-04-08 15:44:02

    function adaptor(x, y, z) {

        var args = [].slice.call(arguments, 0);

        swap(args[1], args[2]); // 交换值,自己实现。

        return add.apply(this, args);

    }

  • Bosn
    2015-04-08 15:42:33

    没有直接办法,有这种需求就应该变更参数顺序,或者用另外一个函数做适配调换参数