文章 2024-09-27 来自:开发者社区

JS中this的应用场景,再了解下apply、call和bind!

在写程序时,我们都知道this很好用,但是却很容易导致乱用。就像我刚开始学习箭头函数时,我知道这个箭头指代的是this,但是却不知道它往哪里指,所以在写程序时,就会想当然的乱写,导致有时候因为一个数据获取不到而疯狂找错,这无形之中要增加很大的时间成本,不懂原理胡来总是很容...

文章 2024-08-01 来自:开发者社区

深入浅出 妙用Javascript中apply、call、bind

apply、call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向。JavaScript 的一大特点是,函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念。先来一...

文章 2024-05-17 来自:开发者社区

前端 JS 经典:apply、call、bind

1. 概念 都是用来改变函数中 this 指向的。区别在于 apply、call 传参方式不一样,调用后,直接执行函数。bind 调用后,返回一个函数体,不直接执行函数。 2. 为什么用 那为什么要改变 this 指向呢。正常情况下,谁调用函数 this 就指向谁。那调用这个函数的那个谁,要访问另一个谁的属性或方法,就需要改变其 this 的指向,到另一个谁那去 ...

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

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

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

文章 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-25 来自:开发者社区

JS中this的应用场景,再了解下apply、call和bind!

一、谈谈对this对象的理解this ,函数执行的上下文,总是指向函数的直接调用者(而非间接调用者),可以通过 apply , call , bind 改变 this 的指向。如果有 new 关键字,this 指向 new 出来的那个对象。在事件中,this 指向触发这个事件的对象,特殊的是,IE 中的 attachEvent 中的 this 总是指向全局对象 window 。对于匿名函数或者直....

文章 2022-02-16 来自:开发者社区

【优雅代码】深入浅出 妙用Javascript中apply、call、bind

这篇文章实在是很难下笔,因为网上相关文章不胜枚举。 巧合的是前些天看到阮老师的一篇文章的一句话: “对我来说,博客首先是一种知识管理工具,其次才是传播工具。我的技术文章,主要用来整理我还不懂的知识。我只写那些我还没有完全掌握的东西,那些我精通的东西,往往没有动力写。炫耀从来不是我的动机,好奇才是。" 对于这句话,不能赞同更多,也让我下决心好好写这篇,网上文章虽多,大多复制粘贴,且晦涩难懂,我希望....

文章 2021-09-15 来自:开发者社区

js之apply call bind 区别

三者都可以改变函数的 this 对象指向。三者第一个参数都是 this 要指向的对象,如果如果没有这个参数或参数为 undefined 或 null,则默认指向全局 window。三者都可以传参,但是 apply 是数组,而 call 是参数列表,且 apply 和 call 是一次性传入参数,而 bind 可以分为多次传入。bind 是返回绑定 this 之后的函数,便于稍后调用;apply ....

文章 2018-07-03 来自:开发者社区

从零开始学 Web 之 JS 高级(三)apply与call,bind,闭包和沙箱

大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web ...

从零开始学 Web 之 JS 高级(三)apply与call,bind,闭包和沙箱
文章 2017-11-01 来自:开发者社区

深入浅出妙用Javascript中apply、call、bind

这篇文章实在是很难下笔,因为网上相关文章不胜枚举。 巧合的是前些天看到阮老师的一篇文章的一句话: “对我来说,博客首先是一种知识管理工具,其次才是传播工具。我的技术文章,主要用来整理我还不懂的知识。我只写那些我还没有完全掌握的东西,那些我精通的东西,往往没有动力写。炫耀从来不是我的动机,好奇才是。" 对于这句话,不能赞同更多,也让我下决心好好写这篇,网上文章虽多,大多复制粘贴,且晦涩难懂,我希望....

深入浅出妙用Javascript中apply、call、bind

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

产品推荐

开发与运维

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

+关注