对js中call, apply, bind,的一点理解。

ESP32S3驱动0.96寸OLED屏SPI接口完整指南 嵌入式显示技术中,微控制器与显示屏的接口通信是基础且关键的环节。SPI作为一种高速同步串行协议,常用于驱动小尺寸OLED屏幕。本文从SPI通信原理与OLED驱动芯片识别切入,讲解ESP32S3与0.96寸屏幕的连接方式,重点分析SSD1306与SH1106的驱动差异,并对比硬件SPI与软件SPI的适用场景。通过Arduino IDE结合U8g2库的配置,展示从初始化到显示Hello World的完整流程,同时系统排查点不亮、花屏、上传失败等常见故障。内容覆盖引脚映射、供电复位、总线降频等工程细节,适用于物联 阅读详情

正题

call 改变this的指向,传递参数为参数列表。

		let arrary = [1,2,4,5,7];
		let obj = {
			name:'test',
		};
		function fn(){
			console.log(this,arguments);//this 为obj对象,arguments 为传入参数数组
		}
		fn.call(obj,1,2,3,4,5,6);

apply 改变this指向,传递参数为数组。

		let arrary = [1,2,4,5,7];
		let obj = {
			name:'test',
		};
		function fn(){
			console.log(this,arguments);//this 为obj对象,arguments 为传入参数数组
		}
		fn.apply(obj,arr);

bind 改变永久更改this指向(这个没弄太明白,明白的老哥指教下。),传递参数为参数列表,bind 可以分次输入参数,这个在《JavaScript高级程序语言设计(第三版)》里叫函数柯里化,简单说就是尽量减少函数传递的参数。

		let arrary = [1,2,4,5,7];
		let obj = {
			name:'test',
		};
		function fn(){
			console.log(this,arguments);//this 为obj对象,arguments 为传入参数数组
		}
		let fnBind = fn.bind(obj,arr);//不会立即执行需要调用fnBind变量
		fnBind();

链式调用 怎么实现类似与vue3 app.use(传入点什么).use(传入点什么) 这样一直调用。

	let obj = {
		name:'test',
		say:function(num){
			console.log(num);
			return obj;//为什么不返回this?因为this 有些情况会指向全局
		},
	};
	obj.say(1).say(2).say(3).say(4);
	let test = obj.say;
	test(1)//say function 里返回的this指向全局,此时就无法在实现.say().say()这样的调用
	test.call(obj)//但是可以通过改变this指向来实现

不足之处望指出。

SpringBoot项目整合达梦数据库(MYSQL 转换 达梦数据库) 注意:当迁移过程中出现下面问题时,如有触发器或者外键,需要先关掉触发器和外键,然后进行迁移,不然会导致迁移失败。(2)dm.ini修改【#compatibility】的【COMPATIBLE_MODE】=4。3、添加用户:如果导入的DM数据库需要和MYSQL的用户一样,添加ROOT用户。方法一:服务器配置:设置系统兼容性(DM控制台工具),兼容MySQL。服务器配置又该有两种方式:①DM控制台工具修改;MYSQL的数据表转换成DM的数据表时,点击转换按钮。在这里操作:MYSQL数据库迁移至DM数据库。 阅读详情

相关推荐

新一代XMOS会议四麦方案主控芯片 XVF3800

2023年,知名的音频芯片制造厂商 XMOS 正式发布了新一代会议麦阵芯片片 XVF3800 ,这款芯片采用最先进的四麦音频算法,可在嘈杂的环境中提供高质量语音,算法支持圆形、条形阵列,可根据应用场景组成不同的产品形态。传统的麦阵解决方案,不仅需要捕捉会议中的人声,也会同时捕捉环境中的其他噪声,而 XMOS 先进的语音算法解决了这一问题。声学回声消除功能可消除麦克风音频输入的回声,同时减少远端回声,使 XVF3800 能提取清晰的语音信号。• 180度拾音条形麦克风阵列。• 360度拾音环形麦克风阵列。

PawPaw_electron的博客 785

JS 关于链式 bind 的操作

操作,实际的代码会变为一层一层的 apply 嵌套,在此情况下,只有最内层的 apply this 会对原始函数奏效。并不会奏效,只会绑定第一个 bind 的。的指向,而级联(链式)的。在 JS 中可以利用。可以看到,若链式进行。

sigmarising的博客 195

Hyper-V集群部署指南

工欲善其事,必先利其器。搭建一个方便管理的服务集群,是分布式学习很重要的环境。 目前流行的虚拟机产品主要为Vmware 和 win10自带的Hyper-V(win10家庭版无此功能),网上关于Vmware的教程更多,显然它更容易上手,但Hyper-V也算是一个很不错的产品,这里记录一下我的学习过程: 目录 Hyper-V的安装 服务集群的搭建 虚拟机的网络通信 NAT网络的搭建 端口映射 Linux的静态IP 虚拟机的自启动问题 Hyper-V的安装 也不能算说是安装,如果你的win1

Swing 6922

链式调用

开发中经常会遇到给对象Been赋值,比如说一个Person对象,给他设置name 和 age 属性:Person person=new Person(); person.setName("Tom"); person.setAge(18);这种情况下每一次设置它的一个属性的时候都要调用,总的来说是 Object.method() 形式的调用。当这个对象的属性值比较少的时候还好,但是当这个对象的属性多

ldhj1993的博客 5911

TCP Reno/CUBIC 拥塞控制算法对比:从 Tahoe 到 BBR 的 4 种核心策略演进

本文深入解析了TCP拥塞控制算法的演进历程,从经典的Tahoe、Reno到现代的CUBIC和BBR,详细对比了4种核心策略的实现机制与性能差异。通过分析拥塞窗口、流量控制等关键技术,揭示了不同算法在高带宽延迟网络中的优化方向,为网络协议栈优化提供理论依据和实践指导。

weixin_33725239的博客 442

【scp】Windows 下scp报错 bad permissions

Windows 下使用 SSH 连接报 Bad owner or permissions on C:\\Users\\Administrator/.ssh/config 错误问题解决 C:\Users\Administrator>scp -P 66666 D:\1111.pdf zzd@58.213.45.xx:/home/zzd/ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING:...

走在搬砖的路上! 4156

bind 用法及简单实现原理

前言 bind 和 call/apply 一样,都是用来改变上下文 this 指向的,不同的是,call/apply 是直接使用在函数上,而 bind 绑定 this 后返回一个函数(闭包),如下: var obj = { init: 1, add: function(a, b) { return a + b + this.init; } } obj.a...

hsany330的专栏 544

计算机网络-自顶向下方法 第三章课后习题答案(第七版)

复习题 R1. a) 就叫这个协议为简单传输协议STP(Simple Transport Protocol)。在发送方,STP从发送进程接收不超过1196字节的数据块、目标主机地址和目标端口号。STP向每个块添加一个4字节的头,并将目标进程的端口号放在头中。STP然后将目标主机地址和结果段提供给网络层。网络层将段交付给目的地主机的STP。目的主机基于STP检查段中的端口号,从段中提取数据,并将数据传递给由端口号标识的进程。 b) 在发送方,STP从发送进程接收不超过1192字节的数据块、目标主机地址和目标端

Erekilu的博客 2万+

javascript函数基础--扩展函数的方法,链式语法,函数节流/防抖,模拟重载,绑定函数bind()

javascript允许为 基本数据类型 定义方法。通过为Object.prototype添加原型方法,该方法被所有的对象可用,这样的方式对 函数 数组 字符串 数字 正则表达式 和布尔值都适用,如:通过给Funciton.prototype增加方法,使该方法对 所有函数 可用, Function.prototype.method=function(name,func){ if(!thi...

wenmin1987的博客 550

【RK3588 NPU性能调优实战】多线程异步推理YOLOv5,榨干6TOPS算力

本文详细解析了如何在RK3588 NPU上通过多线程异步推理优化YOLOv5目标检测性能,实现6TOPS算力的最大化利用。通过线程池设计、流水线化帧处理及避开内存带宽瓶颈等技巧,将NPU利用率从30%提升至82%,帧率显著提高至61.2FPS。文章还提供了环境配置、代码实现及性能对比数据,助力开发者高效部署AI模型。

weixin_29034963的博客 341

华大HC32F460 TCP Client 实验

华大HC32F460 TCP Client 实验

ZhuoWuKeJi的博客 649

关于js闭包、关于call()、apply()、bind()等方法的一点理解

一、js闭包 首先,需要搞清楚什么是闭包: 闭包是嵌套的内部函数 有点抽象,上例子: function outExample(){ var a=1 function innerExample(){ return a*a //这里的a调用的不是全局变量,而是outExample中的函数局部变量 } } 1.2、产生闭包的条件 1、函数

m0_57446284的博客 339

【NVIDIA】Jetson Orin Nano系列:编译外部驱动(交叉编译和板上编译)

Orin Nano外部驱动的开发入门,以hello world为例。使用交叉编译和板上编译两种方法

郭老二 1734

js中this指向

用于指向当前执行代码的对象,它的指向在不同情况下会有所不同。下面是一些常见情况下。的指向在不同的情况下可能会产生错误,因此需要注意使用上下文来确定。在 JavaScript 中,关键字是一个很重要的概念。下面是一些示例,用于演示。

m0_54566205的博客 300

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

bind、call、apply 区别

一、bind、call、apply的作用 关于call、apply、bind函数,它们主要用来改变this指向的,在很多框架中常有用到,而且也是面试官喜欢问到的问题:多数会问道三者的区别, 以及手动实现它们。 call的用法 fn.call(thisArg, arg1, arg2, arg3, ...) 调用fn.call时会将fn中的this指向修改为传入的第一个参数thisArg;将后面的参数传入给fn,并立即执行函数fn。 let obj = { name: "xiaoming",

weixin_40856652的博客 2万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

JavaScript进阶 —— 深入理解 call,apply 和 bind

在JavaScript 中,call、apply 和 bind 是 Function 对象自带的三个方法,这三个方法的主要作用是改变函数中的 this 指向,从而可以达到`接花移木`的效果。本文将对这三个方法进行详细的讲解,并列出几个经典应用场景。1、call。

金戈鐡馬 3868

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

JavaScript中bind、apply、call的理解

JavaScript中bind、apply、call的理解

GLimerence的博客 1481

js apply、call、bind一篇掌握

apply、call、bind,在js中都是与this指向打交道的,它们又该如何使用呢?本文先介绍apply的用法,然后根据apply的用法引出call、bind的相同点与区别,这样就比较容易记忆。

在下月亮有何贵干 2091

理解JS中的call、apply、bind方法

在JavaScript中,call、apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向。 call、apply、bind方法的共同点和区别: apply 、 call 、bind 三者都是用来改变函数的this对象的指向的; apply 、 call 、bind 三者第一个参数都是this要指向的对象,也就是想指定的上下文(函数的每次

不忘初心,方得始终 7023

JavaScript中apply,call和bind方法

JavaScript call, apply , bind方法 JS call 方法,JS apply 方法,JS bind方法 call,apply 和 bind方法的区别 call, apply 和 bind的使用 手写 bind方法

CSPsy的博客 1894

用原生js封装自己的call、apply、bind方法

用原生js封装call、apply、bind方法详解 简单讲一下这三个函数的作用 相信做前端的小伙伴们,在面试的时候肯定被问过,你知道如何改变当前函数的this的指向吗? 举个简单的例子 window.name = "WINDOW"; let obj = { name : "OBJ" }; function fn(){ consol...

Mr_WangYuanDong的博客 1210

JavaScript手写call,apply,bind

JavaScript手写call,apply,bind call,apply,bind,都能在JavaScript中改变this指向,那么如何用原生的JS来实现呢? call 实现思路 参考call的语法规则,需要设置一个参数thisArg,也就是this的指向; 将thisArg封装为一个Object; 通过为thisArg创建一个临时方法,这样thisArg就是调用该临时方法的对象了,会将该临时方法的this隐式指向到thisArg上; 执行thisArg的临时方法,并传递参数; 删

liuarmyliu的博客 1399

JavaScript中call,apply,bind方法的总结

function MAN(name, sex, age) { this.name = name; this.sex = sex; this.age = age; this.say = function(school,zhuanye) { console.log(this.name + " , " + this.sex + " ,今年" + this.age

黄沙百战穿金甲,不破楼兰终不还。 1478

Javascript 中 apply、call、bind用法汇总

apply、call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向。 JavaScript 的一大特点是,函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念。 举个例子: function fruits() {} fruits.prototype = { color: "red", say: function() { console.log("

weixin_44302503的博客 1702

【JavaScript】call,apply,bind的使用及理解

call和apply都是改变上下文中的this并立即执行这个函数,bind方法可以让对应的函数想什么时候调用就什么时候调用,并且可以将参数在执行的时候添加,这就是它们的区别。

俊刚的博客 880

js中 call、apply、bind 源码解析

写在前面 call、apply、bind其实用法都差不多 都是改变 this 指向,只是后面参数的传递有些许不同 call 的参数是直接放进去的,第二第三第 n 个参数全都用逗号分隔,直接放到后面 obj.myFun.call(db,‘成都’, …,‘string’ ) apply 的所有参数都必须放在一个数组里面传进去 obj.myFun.apply(db,[‘成都’, …, ‘string’...

alokka的博客 1177
上一篇: js 基础类型数据判断
下一篇: 前端开发bug记录(一):浏览器缓存问题
Hello_Tree__
博客等级 码龄8年 3粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值