使用 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 相关文章推荐
多次注册事件会导致一个事件被触发多次的解决方法
Aug 12 Javascript
浅谈使用MVC模式进行JavaScript程序开发
Nov 10 Javascript
基于javascript制作微博发布栏效果
Apr 04 Javascript
js改变透明度实现轮播图的算法
Aug 24 Javascript
深入理解Node.js中的进程管理
Mar 13 Javascript
jquery.form.js异步提交表单详解
Apr 25 jQuery
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
Dec 24 jQuery
Vue3 中的数据侦测的实现
Oct 09 Javascript
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 jQuery
es6中let和const的使用方法详解
Feb 24 Javascript
JavaScript创建表格的方法
Apr 13 Javascript
JQuery事件冒泡和默认行为代码实例
May 13 jQuery
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上传图片之时间戳命名(保存路径)
2014/08/15 PHP
php截取html字符串及自动补全html标签的方法
2015/01/15 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
javascript while语句和do while语句的区别分析
2007/12/08 Javascript
动态表格Table类的实现
2009/08/26 Javascript
jQuery-Easyui 1.2 实现多层菜单效果的代码
2012/01/13 Javascript
Javascript Web Slider 焦点图示例源码
2013/10/10 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
js实现感应鼠标图片透明度变化的方法
2015/02/20 Javascript
JavaScript父子窗体间的调用方法
2015/03/31 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
javascript鼠标滑过显示二级菜单特效
2020/11/18 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
2016/11/07 Javascript
详解最新vue-cli 2.9.1的webpack存在问题
2017/12/16 Javascript
js实现点击展开隐藏效果(实例代码)
2018/09/28 Javascript
从理论角度讨论JavaScript闭包
2019/04/03 Javascript
js中的this的指向问题详解
2019/08/29 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
Python编写生成验证码的脚本的教程
2015/05/04 Python
python中numpy包使用教程之数组和相关操作详解
2017/07/30 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
python实现批量nii文件转换为png图像
2019/07/18 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
Python3 中作为一等对象的函数解析
2019/12/11 Python
Python模块的定义,模块的导入,__name__用法实例分析
2020/01/07 Python
Python如何使用神经网络进行简单文本分类
2021/02/25 Python
CSS3样式linear-gradient的使用实例
2017/01/16 HTML / CSS
HTML5 LocalStorage 本地存储刷新值还在
2017/03/10 HTML / CSS
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
汇智创新科技发展有限公司
2015/12/06 面试题
电子邮箱格式怎么写
2014/01/12 职场文书
20年同学聚会感言
2014/02/03 职场文书
新教师2015年度工作总结
2015/07/22 职场文书
python办公自动化之excel的操作
2021/05/23 Python
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python