使用 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 相关文章推荐
让人印象深刻的10个jQuery手风琴效果应用
May 08 Javascript
javascript简单性能问题及学习笔记
Feb 04 Javascript
Iframe 自动适应页面的高度示例代码
Feb 26 Javascript
JQuery中使用ajax传输超大数据的解决方法
Jul 14 Javascript
纯js和css完成贪吃蛇小游戏demo
Sep 01 Javascript
vuejs指令详解
Feb 07 Javascript
JavaScript获取select中text值的方法
Feb 13 Javascript
jq checkbox 的全选并ajax传参的实例
Apr 01 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
Jun 12 Javascript
jQuery取得元素标签名称小结(附代码)
Aug 16 jQuery
详解vue.js之绑定class和style的示例代码
Aug 24 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
Apr 11 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
在IIS上安装PHP4.0正式版
2006/10/09 PHP
PHP学习笔记之二 php入门知识
2011/01/12 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
php通过前序遍历树实现无需递归的无限极分类
2015/07/10 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
2020/12/29 PHP
定义JavaScript二维数组采用定义数组的数组来实现
2012/12/09 Javascript
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
2014/07/28 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
2015/02/25 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
JS实现回到页面顶部动画效果的简单实例
2016/05/24 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
2016/12/11 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
Vue全局分页组件的实现代码
2018/08/10 Javascript
从vue源码看props的用法
2019/01/09 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
Python3访问并下载网页内容的方法
2015/07/28 Python
python遍历目录的方法小结
2016/04/28 Python
python变量赋值方法(可变与不可变)
2019/01/12 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
详解python中的lambda与sorted函数
2020/09/04 Python
CSS3实现大小不一的粒子旋转加载动画
2016/04/21 HTML / CSS
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
C语言编程题
2015/03/09 面试题
环保建议书400字
2014/05/14 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
postgresql无序uuid性能测试及对数据库的影响
2021/06/11 PostgreSQL
alibaba seata服务端具体实现
2022/02/24 Java/Android
MySQL时区造成时差问题
2022/04/13 MySQL