JS中call()、apply()和bind()函数怎么使用


今天小编给大家分享一下JS中call()、apply()和bind()函数怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。通过提供一个新的this值给当前调用的函数/方法,从而改变this指向。thisArg:当前调用函数this指向的对象
arg1, arg2:传递的其他参数(直接传给形参可不写)可以直接调用函数—fn.call()可以改变被调用函数的this指向为指定的— fn.call(this.Arg)使用调用者提供的值和参数调用该函数的返回值,也就是函数的返回值。若该方法没有返回值,则返回undefined。通过使用call()来实现继承apply-应用、运用的意思。
apply()-调用一个具有给定值的函数,以及以一个数组(或一个类数组对象)的形式提供的参数this,简单理解为调用函数的,fang’shi但是它可以改变this指向。thisArg:在fn函数运行时指定的this值,当不需要改变this指向时这里可以填null
argsArray:传递的值,必须包含在数组里面。也是调用函数—fn.apply()可以改变函数内部的this指向—fn.apply(this)但是它的参数必须是数组(伪数组)apply()的返回值就是函数的返回值,因为它就是调用函数。
使用调用者提供的值和参数调用该函数的返回值。若该方法没有返回值,则返回undefined典型应用: 借助于数学内置对象求值。bind:绑定、捆绑
bind():不会调用函数,但是也能改变函数内部的this指向thisArg:在fn函数运行时指定的this值
arg1, arg2:传递的其他参数不会调用原来的函数,不会立即调用;可以改变原来函数内部的this指向;返回的是原函数改变this之后产生的新函数;返回由指定的this值和初始化参数改造的原函数拷贝典型应用
如果有的函数我们不需要立即调用,但是又想改变这个函数内部this指向,此时用bind(),eg:点击发送验证码60秒后才能二次点击都可以改变函数内部的this指向callapply 会调用函数,并且改变函数内部this指向;callapply 的传参不一样,call 传参aru1, aru2…免费云主机域名形式,apply 必须为数组形式 [arg]bind 不会直接调用函数,但是可以改变函数内部this指向;应用场景不同:call 经常做继承;apply 经常跟数组有关系,比如借助于数学对象实现数组最大最小值;bind 不调用函数,但是还想改变this指向,比如改变定时器内部this指向。以上就是“JS中call()、apply()和bind()函数怎么使用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注百云主机行业资讯频道。

相关推荐: echarts渐变的实现方式有哪些

本文小编为大家详细介绍“echarts渐变的实现方式有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“echarts渐变的实现方式有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。线性渐变:new echarts.graphi…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/27 16:19
下一篇 02/27 16:19

相关推荐