使用 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异步验证用户名是否存在示例代码
May 21 Javascript
jquery通过ajax加载一段文本内容的方法
Jan 15 Javascript
jqGrid表格应用之新增与删除数据附源码下载
Dec 02 Javascript
分享jQuery插件的学习笔记
Jan 14 Javascript
jQuery解决$符号命名冲突
Jun 18 Javascript
Bootstrap3制作搜索框样式的方法
Jul 11 Javascript
微信小程序 实现拖拽事件监听实例详解
Nov 16 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
Mar 07 Javascript
Vue EventBus自定义组件事件传递
Jun 25 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
Jul 19 Javascript
微信小程序实现笑脸评分功能
Nov 03 Javascript
微信小程序日历组件使用方法详解
Dec 29 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.ini中文版
2006/10/09 PHP
PHP 定界符 使用技巧
2009/06/14 PHP
php中经典方法实现判断多维数组是否为空
2011/10/23 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
在Debian系统下配置LNMP的教程
2015/07/09 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
php脚本运行时的超时机制详解
2016/02/17 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
html+css+js实现xp window界面及有关功能
2013/03/26 Javascript
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
jquery实现智能感知连接外网搜索
2013/05/21 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
javascript实现滑动解锁功能
2014/12/31 Javascript
jQuery实现图像旋转动画效果
2016/05/29 Javascript
js实现旋转木马效果
2017/03/17 Javascript
Node.js dgram模块实现UDP通信示例代码
2017/09/26 Javascript
浅谈JS 数字和字符串之间相互转化的纠纷
2017/10/20 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
2018/08/20 Javascript
解决vue v-for 遍历循环时key值报错的问题
2018/09/06 Javascript
Webpack的Loader和Plugin的区别
2020/11/09 Javascript
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
Python中遍历列表的方法总结
2019/06/27 Python
Python字符串大小写转换拼接删除空白
2019/09/19 Python
浅谈Python的方法解析顺序(MRO)
2020/03/05 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
党员评议思想汇报
2014/10/08 职场文书
查摆问题自查报告范文
2014/10/13 职场文书
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技
分享python函数常见关键字
2022/04/26 Python