Edit in JSFiddle

var s = Array.prototype.slice;
var a = function () {
    //注意这里用的是 s.call(arguments)
    var arg = s.call(arguments);
    if (arg.length > 0) {
        alert(arg[0]);
    }
};
a('我是a的一个参数');

var _s = Function.prototype.call.bind(s);
var b = function () {
    //注意这里用的是 _s(arguments),比上面的少用了call哦,
    //奥妙就在11行,返回的_s是在call上绑定了s,
    //调用_s()就相当于s.call(),开始可能很难理解。仔细想想吧
    var arg = _s(arguments);
    if (arg.length > 0) {
        alert(arg[0]);
    }
}
b('我是b的一个参数');