使用 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 相关文章推荐
picLazyLoad 实现图片延时加载(包含背景图片)
Jul 21 Javascript
javascript insertAfter()定义与用法示例
Jul 25 Javascript
prototype与__proto__区别详细介绍
Jan 09 Javascript
详解微信小程序 相对定位和绝对定位
May 11 Javascript
详解如何让Express支持async/await
Oct 09 Javascript
基于elementUI实现图片预览组件的示例代码
Mar 31 Javascript
Vue 理解之白话 getter/setter详解
Apr 16 Javascript
使用Promise封装小程序wx.request的实现方法
Nov 13 Javascript
JS实现音乐钢琴特效
Jan 06 Javascript
js实现抽奖的两种方法
Mar 19 Javascript
javascript实现计算器功能详解流程
Nov 01 Javascript
uniapp 微信小程序 自定义tabBar 导航
Apr 22 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 批量更新网页内容实现代码
2010/01/05 PHP
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
2013/06/05 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
CI框架常用函数封装实例
2016/11/21 PHP
CI框架网页缓存简单用法分析
2018/12/26 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
javascript 显示当前系统时间代码
2009/12/28 Javascript
JQuery异步提交表单与文件上传功能示例
2017/01/12 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
angular.JS实现网页禁用调试、复制和剪切
2017/03/31 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
浅谈vue路径优化之resolve
2017/10/13 Javascript
vue 文件目录结构详解
2017/11/24 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
vue计算属性及使用详解
2018/04/02 Javascript
玩转vue的slot内容分发
2018/09/22 Javascript
vue使用v-for实现hover点击效果
2018/09/29 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
使用cx_freeze把python打包exe示例
2014/01/24 Python
Python中使用item()方法遍历字典的例子
2014/08/26 Python
python实现实时监控文件的方法
2016/08/26 Python
python如何生成各种随机分布图
2018/08/27 Python
python字符串分割及字符串的一些常规方法
2019/07/24 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
法学专业本科生自荐信范文
2013/12/17 职场文书
小学数学课题方案
2014/06/15 职场文书
初中同学会活动方案
2014/08/22 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
捐助感谢信
2015/01/22 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
致运动员加油稿
2015/07/21 职场文书
新郎结婚感言
2015/07/31 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书