使用 js 简单的实现 bind、call 、aplly代码实例


Posted in Javascript onSeptember 07, 2019

这篇文章主要介绍了使用 js 简单的实现 bind、call 、aplly代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Function.prototype._call = function(obj,...arg){
 var me = this;
 var k = Symbol("test"); //生成唯一的 key
 obj[k] = me;
 var result = obj[k](...arg);
 delete obj[k];
 return result;
}
 
Function.prototype._apply = function(obj,arg){
 var me = this;
 var k = Symbol("test"); //生成唯一的 key
 obj[k] = me;
 var result = obj[k](...arg);
 delete obj[k];
 return result;
}
Function.prototype._bind = function(obj,...arg){
 var me = this;
 return function(...args){
  var param = [...arg,...args];
  return me._apply(obj,param);
 }
}
 
 
 
var o1 = {
 info:"o1",
 print(){
  console.log(arguments)
  console.log(this.info)
 }
}
var o2 = {
 info:"o2",
 print(){
  console.log(arguments)
  console.log(this.info)
 }
}
var o3 = {
 info:"o3",
 print(){
  console.log(arguments)
  console.log(this.info)
 }
}
 
o1.print._bind(o3,11)(44,66);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
Dec 02 Javascript
jQuery图片预加载 等比缩放实现代码
Oct 04 Javascript
js遍历子节点子元素附属性及方法
Aug 19 Javascript
不同编码的页面表单数据乱码问题解决方法
Feb 15 Javascript
javascript实现Email邮件显示与删除功能
Nov 21 Javascript
jQuery拖动元素并对元素进行重新排序
Dec 30 Javascript
js 递归和定时器的实例解析
Feb 03 Javascript
vue.js  父向子组件传参的实例代码
Oct 29 Javascript
微信小程序实现多选框全选与取消全选功能示例
May 14 Javascript
Vue的click事件防抖和节流处理详解
Nov 13 Javascript
vue实现评价星星功能
Jun 30 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
Jul 24 Javascript
vue 使用高德地图vue-amap组件过程解析
Sep 07 #Javascript
vue 的 solt 子组件过滤过程解析
Sep 07 #Javascript
javascript的惯性运动实现代码实例
Sep 07 #Javascript
vue的滚动条插件实现代码
Sep 07 #Javascript
微信小程序页面滚动到指定位置代码实例
Sep 07 #Javascript
通过vue写一个瀑布流插件代码实例
Sep 07 #Javascript
javascript写一个ajax自动拦截并下载数据代码实例
Sep 07 #Javascript
You might like
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
PHP __autoload()方法真的影响性能吗?
2012/03/30 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
又拍云异步上传实例教程详解
2016/04/19 PHP
php获取文件名称和扩展名的方法
2017/02/07 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
js正确获取元素样式详解
2009/08/07 Javascript
JS判断元素为数字的奇异写法分享
2012/08/01 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
jQuery的position()方法详解
2015/07/19 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
chosen实现省市区三级联动
2018/08/16 Javascript
Vue 动态组件components和v-once指令的实现
2019/08/30 Javascript
jQuery Datatables 动态列+跨列合并实现代码
2020/01/30 jQuery
利用js实现简易红绿灯
2020/10/15 Javascript
详解uniapp的全局变量实现方式
2021/01/11 Javascript
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
python中xrange和range的区别
2014/05/13 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
StubHub澳大利亚:购买或出售您的门票
2019/08/01 全球购物
本科生个人求职自荐信
2013/09/26 职场文书
高级工程师岗位职责
2013/12/15 职场文书
早读迟到检讨书
2014/01/24 职场文书
地理科学专业自荐信
2014/09/01 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
大学迎新生标语
2014/10/06 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
2014年安置帮教工作总结
2014/12/11 职场文书
电力企业职工培训心得体会
2016/01/11 职场文书