金行健:js中的bind、call、apply
1.作用:
call、apply和bind是Function对象自带的三个方法,都是为了改变函数体内部 this 的指向,区别是call()和apply()在调用函数之后会立即执行,而bind()方法调用并改变函数运行时上下文后,返回一个新的函数,供我们需要时再调用。它们的第一个参数,都是指定一个运行时的上下文,也就是this的指向。bind,和call,指定this指向的参数后,可以加入多个参数,而apply则接受一个数组作为参数。
2.如何选用:
如果不需要关心具体有多少参数被传入函数,选用apply()。
如果确定函数可接收多少个参数,并且想一目了然表达形参和实参的对应关系,用call()。
如果我们想要将来再调用方法,不需立即得到函数返回结果,则使用bind()。
相关推荐
-
JavaScript this 关键字详解
一.前言 this关键字是JavaScript中最复杂的机制之一.它是一个很特别的关键字,被自动定义在所有函数的作用域中.对于那些没有投入时间学习this机制的JavaScript开发者来说,this ...
-
JavaScript 函数 Apply
方法重用 通过 apply() 方法,您能够编写用于不同对象的方法. JavaScript apply() 方法 apply() 方法与 call() 方法非常相似: 在本例中,person 的 fu ...
-
JS的函数方法:call() apply() bind() 自定义绑定对象
把方法绑定到对应的对象上,那么该对象就不用再重写一遍相同的方法了,这样就达到了重复利用的目的. 一.bind方法 使用bind重新绑定对象. function foo() { console.log( ...
-
ES5 05 Function扩展
Function.prototype.bind(obj) : 作用: 将函数内的this绑定为obj, 并将函数返回 面试题: 区别bind()与call()和apply()? 都能指定函数中的thi ...
-
一文搞懂 this、apply、call、bind
"this" 关键字允许在调用函数或方法时决定哪个对象应该是焦点. 在JavaScript中this可以是全局对象.当前对象或者任意对象,这完全取决于函数的调用方式,this 绑定 ...
-
[js] 第81天 在js中怎么捕获异常?写出来看看?应该在哪些场景下采用呢?
今日试题: 在js中怎么捕获异常?写出来看看?应该在哪些场景下采用呢? 此开源项目四大宗旨:勤思考,多动手,善总结,能坚持 <论语>,曾子曰:"吾日三省吾身"(我每天多 ...
-
[js] 第75天 js中=、==、===三个的区别是什么?并说明它们各自的工作过程
今日试题: js中=.==.===三个的区别是什么?并说明它们各自的工作过程 此开源项目四大宗旨:勤思考,多动手,善总结,能坚持 <论语>,曾子曰:"吾日三省吾身"(我 ...
-
补肾阳健脾胃中药方都有些什么
女性肾虚一般多属于"肾阳虚",因脾阳虚所引起,表现为畏寒怕冷.食欲不振.消化不良.精神萎靡等,因为女性本身阳气相对较虚的生理特点,加上生活.工作压力大,精神长期处于紧张状态,造成女 ...
-
文征明小楷书法举世闻名,端庄肃穆,雄遒苍健,中书协恐无人超越
原创文征明小楷书法举世闻名,端庄肃穆,雄遒苍健,中书协恐无人超越 清雅阁 已关注1/7文征明(1470.11.28-1559.3.28),原名壁(或作璧),字征明.四十二岁起,以字行,更字徵仲.因先世 ...
-
Node.js 中的异步 Generator 函数和 Websockets
前端大全 3天前 以下文章来源于大前端技术之路 ,作者浥阳 大前端技术之路分享Web前端,Node.js.React Native等大前端技术栈精选 (给前端大全加星标,提升前端技能) 英文:Vale ...
-
JS中数组属性和方法太多难以记忆?看这篇文章就够了
数组一直是js中最重要的数据类型之一,其有很多属性和方法,包括常用的和不常用的,难以记忆,本文从增删改查四个基本操作入手,帮助大家更快记忆. 一 数组的属性 1 length属性 length属性是数 ...
-
12月04日 | GSK以51亿美元收购Tesaro;国药资本与复诺健成立中生复诺健
根据医药魔方-医药投资风口系统监测,今日共有9起融资案例,国内3例,国外6例融资案例,分属于创新药(3).精准医疗(3).医疗器械(2).医药服务(1)领域. 更多更快的项目更新,仅在小程序 医药创投 ...
-
刘健——三角形中的两个不等式链
刘健著<三正弦不等式> 哈尔滨工业大学出版社,2018 本书介绍了作者在几何不等式领城的一项发现--三正弦不等式,着重讨论了它的应用,由此推导出了大量涉及三角形的不等式,其中包含许多著名结 ...
-
这些 JS 中强大的操作符,总有几个你没听说过
JS 里的操作符大家每天都在使用,还有一些 ES2020.ES2021 新加的实用操作符,这些共同构成了 JS 灵活的语法生态. 本文除介绍常用的操作符之外,还会介绍 JS 里一些不常用但是很强大的操 ...