位置: 编程技术 - 正文

深入理解JS中的Function.prototype.bind()方法(js中...用法)

编辑:rootadmin

推荐整理分享深入理解JS中的Function.prototype.bind()方法(js中...用法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js的define,js的fixed,js怎么理解,js的define,js怎么理解,js怎么理解,js怎么理解,js的define,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

对于函数绑定(Function binding)很有可能是大家在使用JavaScript时最少关注的一点,但是当你意识到你需要一个解决方案来解决如何在另一个函数中保持this上下文的时候,你真正需要的其实就是 Function.prototype.bind() ,只是你有可能仍然没有意识到这点。

第一次遇到这个问题的时候,你可能倾向于将this设置到一个变量上,这样你可以在改变了上下文之后继续引用到它。

一. bind的语法

bind() 方法的主要作用就是将函数绑定至某个对象,bind() 方法会创建一个函数,函数体内this对象的值会被绑定到传入bind() 函数的值。

1.1 定义

bind()的定义如下:

The bind() method creates a new function that, when called, has its this keyword set to the provided value, with a given sequence of arguments preceding any provided when the new function is called.

bind() 函数会创建一个新函数(称为绑定函数),新函数与被调函数(绑定函数的目标函数)具有相同的函数体。当目标函数被调用时 this 值绑定到 bind() 的第一个参数,该参数不能被重写。

1.2 原理

可以用如下代码模拟bind()的原理:

深入理解JS中的Function.prototype.bind()方法(js中...用法)

1.3 语法

二. bind的应用场景

2.1 实现对象继承

2.2 事件处理

2.3 时间间隔函数

2.4 借用Array的原生方法

三. bind()方法的浏览器兼容性

四. bind()的兼容性写法

五. bind与 call/apply方法的区别

共同点:

都可以改变函数执行的上下文环境;

不同点:

bind: 不立即执行函数,一般用在异步调用和事件; call/apply: 立即执行函数。

总结

好了,

标签: js中...用法

本文链接地址:https://www.jiuchutong.com/biancheng/373605.html 转载请保留说明!

上一篇:Javascript 事件冒泡机制详细介绍

下一篇:javascript对浅拷贝和深拷贝的详解(js浅拷贝的方法)

  • 计提城市维护建设费和教育费附加的会计分录
  • 非居民劳务个税怎么计算
  • 生产成本月末结转到本年利润里吗
  • 装订需要多长时间
  • 货币资金项目应根据账户的期末余额合计填列
  • 网络团购的类型
  • 对外销售产品
  • 销售自己使用过的固定资产如何开票
  • 季度预缴所得税可以不交吗
  • 财务报表中预收账款的数据是怎么来的
  • 来料加工企业的会计处理问题
  • 查税是按基本账户吗
  • 广告公司需要交消费税吗
  • 新企业的设立流程
  • 公司股东认缴资质末到位导致公司破产应承担什么责任
  • 房租收入如何结转成本
  • 鸿蒙系统与安卓对比
  • 税盘没反应
  • 什么是冻结账户的情形
  • 收到老板图片
  • 代扣代缴个人所得税怎么算
  • 广告性质的赞助支出可以在企业所得税前扣除吗
  • linux动态扩容
  • 质量事故责任书
  • 公司未成立,发起人的责任
  • typescriptlang
  • php curl_exec
  • 应付账款零头怎么处理
  • 得物的成本结构是什么
  • vue操作excel
  • crontab命令用法
  • 下脚料收入计入什么科目
  • python中time模块的用法
  • 基建工程转固定资产
  • 报废的固定资产清理的净损失计入营业外支出
  • 长期资产包含哪些
  • 资本成本在财务报表中怎么体现
  • 领备用金填什么单子
  • 纳税申报表期末未缴税额什么意思
  • 一般纳税人租赁费税率5%是简易征收吗?
  • 给客户的客户开普票算不算虚开
  • 增值税期末留抵退税
  • 设计协会会长
  • 购买预付卡如何开发票
  • 会员卡收费
  • 员工食堂买菜怎么写分录
  • 应交税费期初数调整
  • 从政府取得土地使用权缴增值税吗
  • 开出银行转账支票
  • 劳务增票多少个点
  • 施工企业开专票还是开普票好
  • 接待客人的场合
  • 支付厂房租赁费现金流
  • 饭店的会计做账怎么做
  • 开业前的装修费怎么做账
  • 应发和实发工资账务处理
  • 苹果mac安装
  • win8.1如何关闭windows defender
  • Win10系统照片应该打不开
  • linux安装的命令是啥
  • win7e盘不见了怎么恢复
  • w10系统输入法
  • linux修改22端口号
  • 计算机无法从休眠
  • cocos2d怎么用
  • javascript闭包优缺点
  • node.js操作文件
  • javascript数组操作方法
  • python读json文件和写json文件
  • 如何修改android studio的下载路径
  • js获取时间精确到毫秒
  • python第九套答案
  • angular api
  • 简单介绍自己的名字由来
  • javascript 基础篇1 什么是js 建立第一个js程序
  • javascript详细介绍
  • Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
  • 合肥地税局客服电话
  • 固定资产折旧的影响因素
  • 保税区社会车辆能进吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设