位置: 编程技术 - 正文

详解JavaScript函数绑定(javascript函数用法)

编辑:rootadmin

上面的例子创建了一个handler对象,handler.handlerFun()方法被分配为DOM按钮的click事件处理程序。设计意图是这样的:当点击按钮的时候触发该方法,弹出对话框显示handler定义的message,然而点击后对话框内容却是undefined。熟悉闭包的同学可以轻松看出来这个问题在于没有保存handler.handlerFun()方法的执行环境,this对象最后指向了DOM按钮而非handler。可以使用闭包解决此问题,修改函数绑定语句这样就可以得到预期的结果,这个解决方案在onclick程序内部使用一个闭包直接调用handler.handlerFun()方法,当然这是特定于此场景的解决方案,创建多个闭包可能会令代码难以理解和调试。

自定义bind函数通过自定义的bind函数可以将函数绑定到指定环境,bind()函数接收两个参数:一个绑定函数,一个执行环境,并返回一个在执行环境中调用绑定函数的函数。看起来很简单,但是其功能很强大,在bing()中创建了一个闭包,闭包使用apply()调用传入的函数,并给apply()传入执行环境和参数,这里的arguments是内部匿名函数的,而非bind()的。当调用返回的函数时,它会在给定的函数中执行被传入的函数,并给出所有参数。上面例子的调用handler.handlerFun依旧可以得到参数event,因为所有参数在都通过绑定的函数传递给它了。

小结

一旦要将某个函数以函数指针的形式传递,同时该函数必须在特定的环境中执行,自定义的bind()函数就可以使用,他们主要用于事件处理程序及setTimeout和setInterval,然而这种绑定方式和普通函数相比需要更多的内存开销,所以尽量只在必要的时候使用。

推荐整理分享详解JavaScript函数绑定(javascript函数用法),希望有所帮助,仅作参考,欢迎阅读内容。

详解JavaScript函数绑定(javascript函数用法)

文章相关热门搜索词:javascript函数大全,javascript中的函数该如何理解,javascript函数大全,javascript函数,javascript函数的定义,javascript函数用法,javascript中的函数该如何理解,javascript函数用法,内容如对您有帮助,希望把文章链接给更多的朋友!

javaScript面向对象继承方法经典实现 JavaScript的出现已经将近多年了,但是对这个预言的褒贬还是众说纷纭。很多人都说JavaScript不能算是面向对象的变成语言。但是JavaScript的类型非常松

JavaScript 中的日期和时间及表示标准介绍 前言本篇的介绍涵盖以下部分:1.时间标准指的是什么?UCT和GMT的概念、关联和区别?2.时间表示标准有哪些?3.JS中时间的处理日期时间标准日期的标

JavaScript中的eval()函数详解 eval(1+2),-3动态判断源代码中的字符串是一种很强大的语言特性,几乎没有必要在实际中应用。如果你使用了eval(),你应当仔细考虑是否真的需要使用它

标签: javascript函数用法

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

上一篇:JS中for循序中延迟加载动态效果的具体实现(js中写for循环)

下一篇:javaScript面向对象继承方法经典实现(javascript面向对象编程 PDF)

  • 成立蔬菜公司免税吗
  • 出口退税逾期申报说明怎样写
  • 居间费用如何纳税
  • 集团内部借款利息收入增值税
  • 工资的计提与结转怎么算
  • 自然人生产经营所得,如何计算个税
  • 合并报表中怎么抵消投资性房地产
  • 固定资产无法使用不能带来经济利益是否需计提租金
  • 离职补偿金入账
  • 代收款是什么套路
  • 土地增值税税收优惠
  • 非居民企业出租境内不动产
  • 会员卡 退
  • 发放股票股利的账务处理
  • 子公司向母公司借款
  • 存货盘亏的分录怎么写
  • 企业的福利费如何使用
  • 宣传活动物资
  • 政府发放的稳岗补贴怎么做账
  • 清理血管垃圾最有效的食物
  • 电子发票如何作废冲红
  • 进项税转出补交的增值税和附加税可以税前扣除吗
  • 销售商品发生的现金折扣
  • php substring
  • windows 11截图
  • 补充医疗税前扣除还是税后扣除
  • 企业职工福利费的扣除标准是多少?
  • mediabrowser.exe是什么
  • 企业中秋晚会主持词
  • 使用php进行mysql数据库编程的基本步骤
  • php 无限级分类
  • 育空河24102
  • gridviewcolumn
  • pytorch自动编码器
  • vue设置元素不可点击
  • 命令启动服务管理
  • 贷款为什么要把车过户给别人
  • 个人所得税大病医疗夫妻双方怎么扣除
  • 关于转租电费收取规定
  • 挂靠到运输公司的车转让给个人如何交增值税
  • sql 自定义字段
  • Sqlserver 2005使用XML一次更新多条记录的方法
  • 年化收益率怎么算收益率
  • 申请财产损失会计分录
  • 企业注销后账务保留多久
  • 增值税普票没有发票章可以吗
  • 创业带动就业补贴是给企业的还是员工的
  • 收到销售折让的负数发票怎么做会计分录
  • 酒店租金计入什么会计科目
  • 这个月要交增值税怎么做账务处理
  • 生产成本的会计科目分录
  • 银行存款手工账
  • 运输过程发生的合理损耗计入成本吗
  • 考试出题
  • 已认证未抵扣的发票可以退回红冲吗
  • sql差异备份数据库怎么还原
  • 值得收藏的一元硬币
  • mysql查看使用情况
  • 完整版的苏若雪和沈浪
  • centos 安装
  • win7任务管理器是灰色的
  • win8.1使用
  • centos 空闲磁盘合并
  • win10系统如何删除账户
  • windows7包含6个版本其中什么最强大支持的功能最多
  • mac如何关闭开机密码
  • win10电脑提示
  • make_sock: could not bind to address 0.0.0.0:443
  • linux服务器设置dns
  • 鼠标的指针
  • linux安装docker-compose
  • python爬取教程
  • js自动生成序号
  • 关于中国天气的新闻报道
  • windows、linux
  • jq点击图片让图片进行切换
  • js遍历foreach
  • js无限极分类
  • 信息技术税务分类编码
  • 债务核销条件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设