文章 2022-12-28 来自:开发者社区

JavaScript - 手写call、apply和bind函数

前言无论在面试时还是使用中,难免会遇到改变this指向的问题,这时我们便会想到call、apply、bind,可对于他们的底层是如何实现,大多数人不太清楚,如果你对他们还不了解,先看看mdn的call、apply、bind。本文尽量用简洁的语言讲解他们的用法,底层实现思路,模拟实现 call、apply、bind模拟call使用一个指定的 this 值和单独给出一个或多个参数来调用一个函数。fu....

文章 2022-11-27 来自:开发者社区

js之call() apply() bind() $proxy()的总结

js之call() apply() bind() $proxy()的总结关于this的使用先贴一段代码.window.name = 'window'; var obj = { name:'I' } function foo(name,sex){ setTimeout(function(){ console.log(this.name+' love '+name+'...

js之call() apply() bind() $proxy()的总结
文章 2022-10-31 来自:开发者社区

深入理解JavaScript-call、apply、bind三大将

之前在讲 this 关键字 时,我们介绍过这三个 api,我们得出这样的结论:call、apply 和 bind 都拥有"掰弯" this 指向的能力介于当时的重点是 this,对这三个 api 没有详细介绍,本文,我们来了解一下函数中所谓不多的原型方法——call、apply、bindCallMDN[1]:call() 方法使用一个指定的 this 值和单独给出的一个或多个参数来调用一个函数使....

文章 2022-09-13 来自:开发者社区

JS:Function对象call、apply、bind改变this指向

语法Function.length // 返回形参个数 Function.name // 返回函数实例的名称 Function.prototype.call(thisArg, arg1, arg2, ...) Function.prototype.apply(thisArg, [arg1, arg2, ...]) // 调用给定this值的函数 Function.prototype.bind(.....

文章 2022-07-04 来自:开发者社区

JavaScript中的call、apply、bind

call、apply、bind那了解了函数 this 指向的不同场景之后,我们知道有些情况下我们为了使用某种特定环境的 this 引用,这时候时候我们就需要采用一些特殊手段来处理了,例如我们经常在定时器外部备份 this 引用,然后在定时器函数内部使用外部 this 的引用。然而实际上对于这种做法我们的 JavaScript 为我们专门提供了一些函数方法用来帮我们更优雅的处理函数内部 this ....

JavaScript中的call、apply、bind
文章 2022-06-24 来自:开发者社区

js基础-面试官想知道你有多理解call,apply,bind?[不看后悔系列]

函数原型链中的 apply,call 和 bind 方法是 JavaScript 中相当重要的概念,与 this 关键字密切相关,相当一部分人对它们的理解还是比较浅显,所谓js基础扎实,绕不开这些基础常用的API,这次让我们来彻底掌握它们吧!目录call,apply,bind的基本介绍call/apply/bind的核心理念:借用方法call和apply的应用场景bind的应用场景中高级面试题:....

js基础-面试官想知道你有多理解call,apply,bind?[不看后悔系列]
文章 2022-05-26 来自:开发者社区

JavaScript 自己实现 call、apply、bind

callTry itcall() 方法使用一个指定的 this 值和单独给出的一个或多个参数来调用一个函数。:::tip该方法的语法和作用与 apply() 方法类似,只有一个区别,就是 call() 方法接受的是一个参数列表,而 apply() 方法接受的是一个包含多个参数的数组。:::function Product (name, price) { this.name = name; ...

文章 2022-05-21 来自:开发者社区

JavaScript 中 call()、apply()、bind() 的用法

1 applyFunction.apply(obj,args)复制apply方法接收两个参数obj:这个对象将代替Function类里this对象args:这个是数组,它将作为参数传给Function(args-->arguments)不带第一个参数var person = { fullName: function() { return this.firstName...

文章 2022-05-15 来自:开发者社区

js apply、call、bind一篇掌握

目录前言apply改变this指向示例改变入参arguments将数组入参变为一般入参callbind尾言前言apply、call、bind,在js中都是与this指向打交道的,它们又该如何使用呢?本文先介绍apply的用法,然后根据apply的用法引出call、bind的相同点与区别,这样就比较容易记忆。apply首先我先介绍其中一个,等你掌握了apply就能很快掌握另外两个了,apply,作....

js apply、call、bind一篇掌握
文章 2022-04-26 来自:开发者社区

一个简单的例子让你轻松地明白JavaScript中apply、call、bind三者的用法及区别

apply、call、bind共同的用法先讲一下特别概念性的,三者的共同用法就是可以改变函数的this指向,将函数绑定到上下文中。接下来看一个普通的应用场景:let obj1 = { my_favorite : 'banana', add: function (fruit) { console.log('我喜欢的水果是' + fruit + ',但是我最爱的水果是' +...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注