当前位置:网站首页>js实现一个 bind 函数
js实现一个 bind 函数
2022-08-03 04:55:00 【船长在船上】
欢迎来访船长在船上的博客,如有疑问可以留言、评论,看到后会及时回复。

目录
原理:通过 apply 或者 call 方法来实现
区别:function.apply(obj,argArray)//argArray为数组
function.call(obj,arg1,arg2,arg3…)//后面的参数为列表项
apply()和call()不传参数时候功能是相同的,但是它们接受的参数不同,apply的第二个参数只能接受一个数组,并且apply()只能是二个参数,而call()的第二个参数起接受的多个参数列表项,参数是可以多个。
(1)初始版本
Function.prototype.bind=function(obj,arg){
var arg=Array.prototype.slice.call(arguments,1);
var context=this;
return function(newArg){
arg=arg.concat(Array.prototype.slice.call(newArg));
return context.apply(obj,arg);
}
}(2) 原型链
Function.prototype.bind=function(obj,arg){
var arg=Array.prototype.slice.call(arguments,1);
var context=this; var bound=function(newArg){
arg=arg.concat(Array.prototype.slice.call(newArg));
return context.apply(obj,arg);
}
var F=function(){}
//这里需要一个寄生组合继承
F.prototype=context.prototype;
bound.prototype=new F();
return bound;
}文章推荐:
感谢:如果觉得博主的文章不错或者对你的工作有帮助或者解决了你的问题,可以关注、支持一下博主,如果三连收藏支持就会更好,在这里博主不胜感激!!!如有疑问可以留言、评论,看到后会及时回复。
边栏推荐
- UV decomposition of biotin - PEG2 - azide | CAS: 1192802-98-4 biotin connectors
- typescript41-class类的私有修饰符
- 软件开发的最大的区别是什么?
- 获取Ip工具类
- 6.神经网络剖析
- Talking about GIS Data (5) - Geographic Coordinate System
- Shell conditional statement judgment
- [Harmony OS] [ArkUI] ets development graphics and animation drawing
- 7.Keras开发简介
- idea使用@Autowired注解爆红原因及解决方法
猜你喜欢
随机推荐
User password encryption tool
typescript43-类型兼容性说明
[Fine talk] Using native js to implement todolist
shell script loop statement
Common lipophilic cell membrane dyes DiO, Dil, DiR, Did spectrograms and experimental procedures
传统企业如何转型社交电商,泰山众筹的玩法有哪些?
Redis连接不上的报错解决方案汇总
Kotlin-Flow common encapsulation class: the use of StateFlow
多肽介导PEG磷脂——靶向功能材料之DSPE-PEG-RGD/TAT/NGR/APRPG
接口和协议
Shell条件语句判断
荧光标记多肽FITC/AMC/FAM/Rhodamine/TAMRA/Cy3/Cy5/Cy7-Peptide
IO进程线程->线程->day5
User password verification
建立树形结构
UV 裂解的生物素-PEG2-叠氮|CAS:1192802-98-4生物素接头
【Harmony OS】【FAQ】鸿蒙问题合集1
Harmony OS ets ArkUI 】 【 】 the development basic page layout and data connection
Shell conditional statement judgment
接口测试框架实战(一) | Requests 与接口请求构造




![[Harmony OS] [ARK UI] ETS context basic operations](/img/40/d5924477c42e2b3246eb212f4be534.png)



