Function.prototype.customBind = function (context) {
var fn = this,
args = Array.prototype.slice.call(arguments, 1);
return function() {
// 将新函数执行时的参数 arguments 全部数组化,然后与绑定时传参 arg 合并
var newArgs = Array.prototype.slice.call(arguments);
return fn.apply(context, args.concat(newArgs));
}
};
var testFn = function(obj, arg) {
console.log('作用域对象属性值:' + this.value);
console.log('绑定函数时参数对象属性值:' + obj.value);
console.log('调用新函数参数值:' + arg);
}
var testObj = {
value: 1
};
var newFn = testFn.customBind(testObj, {value: 2});
newFn('hello world’);在 JavaScript 中如何自定义 bind 函数
原创
©著作权归作者所有:来自51CTO博客作者泰瑞__的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
typescript和javascript中如何使用bind方法?
本文给出typescript和javascript中如何使用bind方法的使用对比与建议。
函数绑定 全局对象 typescript javascript bind -
GIT使用SSH 多账户配置
好的配置应该是透明的。用户不需要知道它的存在,它就能正确工作。— 这就是 “好品味” 的体现。
#git #ssh #运维 git IP -
10.11 shell脚本运行 多台虚拟机 SSH免密登录
2.6创建hadoop用户,配置sudo权限。2.5配置hosts文件,添加集群节点配置。2.7配置SSH免密登录。2.3配置固定IP地址。
#linux #运维 #服务器 hadoop IP
















