使用 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 相关文章推荐
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
Feb 07 Javascript
javascript计时器详解
Feb 28 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
Aug 01 Javascript
深入理解Node.js 事件循环和回调函数
Nov 02 Javascript
浅谈js中function的参数默认值
Feb 20 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
Mar 02 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
Jun 12 Javascript
深究AngularJS中ng-drag、ng-drop的用法
Jun 12 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
Jul 27 Javascript
js注册时输入合法性验证方法
Oct 21 Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
Apr 17 Javascript
通过实例解析JavaScript常用排序算法
Sep 02 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
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
ThinkPHP之N方法实例详解
2014/06/20 PHP
php实现监控varnish缓存服务器的状态
2014/12/30 PHP
深入浅出php socket编程
2015/05/13 PHP
php抓取并保存网站图片的实现代码
2015/10/28 PHP
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
浅谈JavaScript正则表达式分组匹配
2015/04/10 Javascript
用Node.js通过sitemap.xml批量抓取美女图片
2015/05/28 Javascript
超级给力的JavaScript的React框架入门教程
2015/07/02 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
2017/03/10 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
微信小程序登录session的使用
2019/03/17 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
python导入时小括号大作用
2017/01/10 Python
pandas数据集的端到端处理
2019/02/18 Python
Python for循环与range函数的使用详解
2019/03/23 Python
Python Print实现在输出中插入变量的例子
2019/12/25 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
英国知名奢侈品包包品牌:Milli Millu
2016/12/22 全球购物
zooplus德国:便宜地订购动物用品、动物饲料、动物食品
2020/05/06 全球购物
汽车销售员如何做职业生涯规划
2014/02/16 职场文书
服装设计师职业生涯规划范文
2014/02/28 职场文书
监察建议书格式
2014/05/19 职场文书
广告宣传策划方案
2014/05/21 职场文书
读书月活动方案
2014/05/22 职场文书
董事长助理工作职责范本
2014/07/01 职场文书
法语专业求职信
2014/07/20 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS
Win11 Build 21996.1 Dev版怎么样? win11系统截图欣赏
2021/11/21 数码科技