var add = function (a, b, c) { var result, arg; result = 0; arg = [].slice.call(arguments); for (var i = arg.length; i--;) { result += arg[i]; } return result; } var newAdd = add.bind(null, 1); //注意这里只传了2和3 var result = newAdd(2, 3); //bind会保存参数哦,调用新function的时候会把之前bind的参数 //和之后调用的参数一起作为原function的参数. alert(result)