//bind封装源码
Function.prototype.newBind = function (target) {
target = target || window;
var self = this;
var args = [].slice.call(arguments, 1);
var temp = function () {};
var F = function () {
var _arg = [].slice.call(arguments, 0);
return self.apply(this instanceof temp ? this : target, args.concat(_arg));
}
temp.prototype = this.prototype;
F.prototype = new temp();
return F;
}