当前位置:网站首页>js implements a bind function
js implements a bind function
2022-08-03 05:12:00 【captain on board】
欢迎来访船长在船上的博客,如有疑问可以留言、评论,看到后会及时回复.
目录
原理:通过 apply 或者 call 方法来实现
区别:function.apply(obj,argArray)//argArray为数组
function.call(obj,arg1,arg2,arg3…)//The following parameters are list items
apply()和call()The function is the same when no parameters are passed,But they accept different parameters,applyThe second parameter can only accept an array,并且apply()only two parameters,而call()Multiple argument list items are accepted since the second argument,There can be multiple parameters.
(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;
}
文章推荐:
感谢:如果觉得博主的文章不错或者对你的工作有帮助或者解决了你的问题,可以关注、支持一下博主,如果三连收藏支持就会更好,在这里博主不胜感激!!!如有疑问可以留言、评论,看到后会及时回复.
边栏推荐
- Apache DolphinScheduler版本2.0.5分布式集群的安装
- 接口测试 Mock 实战(二) | 结合 jq 完成批量化的手工 Mock
- Harmony OS Date ano UI 】 【 】 the basic operation
- Bubble sort in c language structure
- Create a tree structure
- presto安装部署教程
- tag单调栈-单调栈预备知识-lt.739. 每日温度
- The problem that the rosbag tool plotjuggler cannot open rosbag
- 【精讲】利用原生js实现todolist
- Flink state
猜你喜欢
随机推荐
MySql 创建索引
PotPlayer实现上班摸鱼电视自由
【Harmony OS】【FAQ】鸿蒙问题合集1
User password verification
odps的临时查询能在写sql的时候就给结果一个命名不?
接口测试框架实战 | 流程封装与基于加密接口的测试用例设计
typescript42-readonly修饰符
GIS数据漫谈(五)— 地理坐标系统
IO进程线程->线程->day5
接口和协议
Create a tree structure
js garbage collection mechanism
[Fine talk] Using native js to implement todolist
在线密码生成工具推荐
Detailed explanation of MOSN reverse channel
Unity2D horizontal board game tutorial 6 - enemy AI and attack animation
【Harmony OS】【ARK UI】轻量级数据存储
Peptides mediated PEG DSPE of phospholipids, targeted functional materials - PEG - RGD/TAT/NGR/APRPG
安装IIS服务(Internet信息服务(Internet Information Services,简写IIS,互联网信息服务)
软件开发的最大的区别是什么?