JS bind 函数

CMOS 半加器和全加器&&数字集成电路&& Cadence Virtuoso 数字集成电路——半加器和全加器 阅读详情

bind 函数

bind 函数的作用是改变this的指向。(这里说的bind 不是jq的bind 函数。)
举个栗子:

var name = "outerName";
let obj = {
    name: "innerName",
    getName: function () {
        return function () {
            return this.name;
        }
    }
};

obj.getName()();   //"outerName"

(小提示: 这里的全局变量为什么不能用let: let 定义的变量不是全局变量,而调用函数时this指向全局window 。至于为什么可以看这里)

这里有2个解决方案:
1.在getName中定义一个 that 保存this .

 getName: function () {
    let that = this;
        return function () {
            return that.name;
        }
    }

2.使用apply或者call方法指定函数的作用域:

var name = "outerName";
let obj = {
    name: "innerName",
    getName: function () {
        return function () {
            return this.name;
        }
    }
};
let func = obj.getName();

alert(func.apply(obj))   //"innerName"

ES5 提供了新的bind方法可以更简介明朗的实现这种效果:

var name = "outerName";
let obj = {
    name: "innerName",
    getName: function () {
        return function () {
            return this.name;
        }
    }
};
let func = obj.getName();
func = func.bind(obj);
alert(func())   //"innerName"

对于少数浏览器不支持bind函数的兼容性操作:

Function.prototype.bind=Function.prototype.bind||
    function(context){
        var self=this;
        return function()
        {
            return self.apply(context,arguments);
        }
    }

参考自:http://www.cnblogs.com/GongQi/p/4041460.html

告别Python依赖!用C++编译PaddleOCR打造轻量级本地OCR工具(附模型选择与性能对比) 本文详细介绍了如何将PaddleOCR从Python迁移到C++平台,打造高性能、低资源占用的本地OCR工具。通过对比Python和C++实现的性能差异,展示了C++在冷启动时间、内存占用和部署便捷性上的显著优势。文章还提供了模型选择、编译配置和优化技巧等实用指南,帮助开发者轻松构建轻量级OCR解决方案。 阅读详情

相关推荐

整车 EOL下线 测试系统介绍

整车下线(EOL)测试专门针对整车进行设计开发,是车企将组装好的整车交付客户前的 最后一道检测工序。EOL 测试针对的是整车下线测试,不同于零部件下线,是整车级别的下线 测试,测试过程关系整车的每个零部件,其测试质量直接影响到整车的质量好坏。因此,整车EOL测试是整车下线必不可少的测试过程.

王小奎的博客 5495

js中bind()使用详情

前言 最近在在搞React的时候有用到bind()的时候,因为他的用法其实我还一直不是特别的清楚,所以今天我把bind()他的用法和我遇到的结合起来这样来写一个博客,这样应该可以加深自己的印象同时可以来跟好的来解析bind的使用方法 1.那么我们先来介绍一下bind() Function.prototype.bind() bind()方法主要就是将函数绑定到某个对象,bind()会创......

qq_39148344的博客 4万+

嵌入式NTC温度解算库:Steinhart-Hart定点实现与硬件解耦设计

NTC热敏电阻是嵌入式系统中最常用的模拟温度传感器,其阻值-温度关系高度非线性,需依赖Steinhart-Hart方程实现高精度转换。该方程通过三参数对数多项式建模,理论上可将误差控制在±0.1°C以内,但直接移植到MCU面临浮点开销大、定点溢出、系数精度损失等工程瓶颈。为此,归一化处理(ln(R/R₂₅))、Q24.8定点运算、查表+插值对数计算等优化技术成为资源受限场景下的关键技术路径。其核心价值在于将ADC采样与温度解算彻底解耦,适配各类HAL/裸机/RTOS环境,广泛应用于电池管理、工业PLC、Io

weixin_35756624的博客 648

JS中的bind()方法

Function.prototype.bind()方法 转自——JS中的bind()方法_kongjunchao159的博客-优快云博客_bind方法 bind()方法主要就是将函数绑定到某个对象,bind()会创建一个函数,函数体内的this对象的值会被绑定到传入bind()第一个参数的值,例如,f.bind(obj),实际上可以理解为obj.f(),这时,f函数体内的this自然指向的是obj 例子 var a = { b : function...

firstcode666的博客 5470

AD20.多对多工程中将某个原理图导入PCB工程

AD20将多个原理图中的一个或多个导入到PCB文件中

鬼爷杂货铺 1万+

手把手教你:在联想/戴尔笔记本上安装华为电脑管家,实现多屏协同(附详细避坑步骤)

本文详细指导如何在联想、戴尔等非华为笔记本上安装华为电脑管家,实现多屏协同功能。从硬件兼容性检查到定制化安装流程,再到功能调优与异常处理,提供了一套完整的解决方案,帮助用户突破品牌限制,享受华为生态的高效办公体验。

weixin_30251829的博客 860

JS bind方法

还可以绑定函数的参数。这样可以在调用函数时,预先传入一些参数,使得函数的调用更加方便和简洁。是 JavaScript 中非常常用的一个函数方法,它可以用来解决函数调用时。是 JavaScript 中的一个函数方法,它可以用来绑定函数的。值是在运行时确定的,它取决于函数的调用方式。但是当将其赋值给一个全局变量并调用时,它的。值和参数的问题,使得函数调用更加灵活和方便。值和参数,返回一个新的函数。在 JavaScript 中,函数的。值,那么在函数被调用时,值,确保函数被调用时。值始终指向正确的对象。

有趣的小良的博客 2967

手把手教你用Cadence Virtuoso设计折叠式共源共栅放大器(0.18μm工艺实战)

本文详细介绍了在0.18μm工艺下使用Cadence Virtuoso设计折叠式共源共栅放大器的完整流程。从工艺参数获取、电路架构分析到具体参数计算和仿真验证,提供了实战设计指南,帮助工程师掌握这一模拟IC设计中的关键技术,特别适合需要中等增益和较大输出摆幅的应用场景。

open4的博客 411

JS中【bind】详解以及与【apply】和【call】的区别

bind方法是 JavaScript 中非常强大且常用的工具,它能够灵活地绑定函数的this值,并且可以预置参数来实现函数柯里化。在了解bind的工作原理和应用场景后,你可以更好地控制函数的执行上下文和参数传递,使代码更加灵活和可维护。

2301_79858914的博客 4021

基于BERTopic模型的英文20新闻数据集主题聚类及可视化

BERTopic是基于深度学习的一种主题建模方法。BERT是一种用于NLP的预训练策略,它成功地利用了句子的深层语义信息。

Cachel Wood的博客 1461

hwasan实例分析踩内存之一:camx进程stack tag-mismatch的三种解决方案

hwasan实例分析踩内存之一:camx进程stack tag-mismatch的三种解决方案。

1291

JS bind()方法、JS原生实现bind()

JS bind()方法、JS原生实现bind() puxiaotaoc关注 12018.09.09 00:50:08字数 134阅读 29,413 一、arguments的含义 // arguments 是一个对应于传递给函数的参数的类数组对象 function a(){ console.log(arguments); } a(); // Arguments [c...

thlzjfefe的博客 1106

RK3588高速接口实战-PCIE

摘要: RK3588的PCIe接口支持PCIe 3.0x4和PCIe 2.1x1/x2,具备Root Complex和Endpoint模式,适用于NVMe SSD、5G模块等高速设备。硬件设计需注意85Ω/100Ω阻抗匹配、220nF AC耦合电容及100MHz参考时钟。设备树需配置控制器节点、PHY模式和IOMMU映射(RC模式用iommu-map,EP模式用iommus)。调试时可通过lspci检查链路状态,dmesg查看训练日志,perf分析性能。常见问题包括设备识别失败(检查复位时序、PHY配置)、

weiyvyy的博客 507

js中自己实现bind函数的方式

前言 最近由于工作比较忙,好久都没时间静下心来研究一些东西了。今天在研究 call 和 apply 的区别的时候,看到 github 上面的一篇文章,看完以后,感觉启发很大。 文章链接为 https://github.com/lin-xin/blog/issues/7 ,有兴趣的童鞋可以前往学习一下。 但是我主要想写的并不是我今天学习了这篇博文,那样也就太没有技术含量了对吧。 bind...

纯爱枫若情的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

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

JavaScript中bind函数的使用

bind()方法主要就是将函数绑定到某个对象,bind()会创建一个函数,函数体内的this对象的值会被绑定到传入bind()第一个参数的值,当然这是绑定哦,不是像call、apply一样直接执行,apply要执行的话还得自己调用。 举个简单的例子 var me={ name:'我' } var friendA={ name:'朋友A', sendMsg:function(target,content){ console.log("【"+this.name+"】给【"+target+"】发送

编程界明世隐的博客 7845

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

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

js bind函数

js bind函数的作用及使用方法

weixin_54106682的博客 1134

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【JavaScript】bind函数是怎么实现的 手动实现bind函数

手动实现bind函数bind函数语法函数内的this指向原理分析 bind函数语法 bind() 方法会创建一个新函数,当这个新函数被调用时,它的 this 值是传递给 bind() 的第一个参数, 它的参数是 bind() 的其他参数和其原本的参数。 语法: fun.bind(thisArg[, arg1[, arg2[, ...]]]) thisArg 当绑定函数被调用时,该参数会作为原函数运行时的 this 指向。当使用 new 操作符调用绑定函数时,该参数无效。 arg1, arg2, … (可选

这道题我不会做...不会做啊..太难了!! 858

【JavaScript】bind函数用法

在JavaScript中,.bind()方法是一个非常重要的功能,它用于将一个函数绑定到某个对象上,并确保该函数在调用时具有正确的this值。.bind()方法可以在函数对象上调用,返回一个新的函数,这个新的函数与原始函数具有相同的函数体,但是在调用时具有绑定对象的this值。

qq_40205510的博客 1045

js原生函数bind

在javascript中,函数总是在一个特殊的上下文执行(称为执行上下文),如果你将一个对象的函数赋值给另外一个变量的话,这个函数的执行上下文就变为这个变量的上下文了。下面的一个例子能很好的说明这个问题 代码如下: window.name = "the window object" function scopeTest() { return this.name; } // calling

lidiansheng的专栏 6893

js函数柯里化,实现bind

1、柯里化: 把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。 举个栗子: 一个计算两数之和的函数,需要传递两个参数,柯里化后,这个方法只接受一个参数,但是返回一个函数,用来接收第二个参数 function add(a,b){ return a+b; } //柯里化后 function ...

weixin_30693183的博客 498

JavaScript中关于bind函数的实际应用与源码解析

JavaScript中关于bind函数的实际应用与源码解析前言作用参数预设和对象绑定限制本质结语 前言 前不久写了一篇关于call与apply函数的文章,其实个人认为这次要介绍的bind函数很核心的一点就是与它们相关,如果有小伙伴没看过可以先看看。 作用 参数预设和对象绑定 坦白说就是提前设置好前几个位置的参数 function say(name, age) { console.log(`id:${this.id}, name:${name}, age:${age}`); } let stu = {id:

weixin_44235656的博客 428

【bind()函数】JavaScript手写bind()及详解-超详细~~~

一问搞懂手写bind及其原理~~超详细!

Jennifer0204的博客 4481

【JS中bind函数详解,实例代码分析】

JavaScript中bind()函数详解

Linxuejie_1030的博客 1291

模拟实现Javascript中的bind函数

bind() 方法创建一个新的函数,在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用。 从MDN对于bind的描述来看: 返回值是一个函数,而不是执行结果 this值会指向第一个参数 其余参数会作为新函数的参数 看个例子: function test(name, age) { console.log(th...

willemwei023的博客 691

Javascript手写一个bind函数

bind函数的实现 Function.prototype.myBind = function(){ let self = this; let arg = Array.prototype.slice.call(arguments); let thisValue = arg.shift(); let args = Array.prototype.slice.call(arguments,1); return function(){ return self.apply(th

IU 2096

JS【详解】函数.bind()

bind() 的功能 bind() 用于将函数内的this指向目标对象(bind的第一个参数) f.bind(obj),可以理解为obj.f() bind() 的使用场景 this 的指向不符合预期时,可以使用 bind() 改变this的指向。 var a = { b: function() { var func = function() { // 这里的this指向的是全局作用域 console.log(this.c); } .

朝阳39的博客 8795
上一篇: 函数的严格模式
下一篇: node 学习笔记
Aaron灬
博客等级 码龄9年 0粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值