使用 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 相关文章推荐
chrome不支持form.submit的解决方案
Apr 28 Javascript
分享javascript计算时间差的示例代码
Mar 19 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
Mar 05 Javascript
JS实现页面载入时随机显示图片效果
Sep 07 Javascript
原生JS实现匀速图片轮播动画
Oct 18 Javascript
React Native 使用Fetch发送网络请求的示例代码
Dec 02 Javascript
在vue组件中使用axios的方法
Mar 16 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
Oct 10 jQuery
Vue核心概念Getter的使用方法
Jan 18 Javascript
JS图片懒加载的优点及实现原理
Jan 10 Javascript
vue 组件销毁并重置的实现
Jan 13 Javascript
elementUI同一页面展示多个Dialog的实现
Nov 19 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
2020年4月放送决定!第2期TV动画《邪神酱飞踢》视觉图&主题曲情报公开!
2020/03/06 日漫
用PHP连接MySQL代码的参数说明
2008/06/07 PHP
php文件操作实例代码
2012/05/10 PHP
php访问数组最后一个元素的函数end()用法
2015/03/18 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
php对文件进行hash运算的方法
2015/04/03 PHP
实例解析php的数据类型
2018/10/24 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
css图片自适应大小
2007/11/28 Javascript
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
详解jquery选择器的原理
2017/08/01 jQuery
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
vue组件name的作用小结
2018/05/23 Javascript
react 生命周期实例分析
2020/05/18 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
python实现多线程行情抓取工具的方法
2018/02/28 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
python 弧度与角度互转实例
2020/04/15 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
2020/04/22 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
2020/06/18 Python
python中doctest库实例用法
2020/12/31 Python
html5新增的定时器requestAnimationFrame实现进度条功能
2018/12/13 HTML / CSS
北京SQL新华信咨询
2016/09/30 面试题
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
法学专业个人求职信
2013/09/26 职场文书
大学生专科毕业生自我评价
2013/11/17 职场文书
学生实习推荐信范文
2013/11/26 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
Python基本数据类型之字符串str
2021/07/21 Python
golang使用map实现去除重复数组
2022/04/14 Golang