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

来源:6-4 [JavaScript]函数属性arguments

青栞

2015-04-08 15:38

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  


写回答 关注

2回答

  • 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

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

JavaScript深入浅出

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

281102 学习 · 1020 问题

查看课程

相似问题