位置: 编程技术 - 正文

详解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)

  • 进项发票已认证,发现发票有问题怎么办
  • 暂估冲回账务处理
  • 结转已销商品的成本的会计科目有哪些
  • 一般纳税人租赁费税率5%是简易征收吗?
  • 小规模纳税人给个人怎么开发票
  • 拓展费发票
  • 原材料入库汇总单
  • 实收资本变化的账务处理
  • 发票可用时间
  • 购进的库存商品转自用需要开发票吗
  • 财政拨款收入年底结转到本期盈余
  • 出售本月转入处置的固定资产应交税费
  • 畜牧生物工程有限公司
  • 房产原值怎么计算房产面积
  • 垫资公司怎么收费50万
  • 劳务分包预缴税怎么算
  • 商贸公司批发零食怎么样
  • 微信提现手续费最新规定
  • 增值税的附加
  • 投资理财产品的风险性从低到高
  • 一般纳税人吧
  • 租赁厂房算什么费用
  • 股份支付的成本费用怎样才能在税前扣除?
  • 保障性住房享有怎么取消儿子的名字呀
  • 固定资产停止使用还计提折旧吗
  • 收到退以前年度教育费附加税
  • 多缴税款退回及退回
  • 确认国债利息收入的依据
  • win7系统ie浏览器在哪里
  • 其他流动负债有利息吗
  • bios设置内存频率后黑屏
  • 查补税款有未缴纳怎么办
  • 购进的货物
  • cpqeadm.exe是什么进程 可以关闭吗 cpqeadm进程查询
  • 账本过次页的视频
  • vue使用什么语言
  • 公司的一项专利多少钱
  • 能单独打一张发票的软件
  • 工会经费的会计分录2022
  • dedecms安装
  • mongodb安装过程
  • 织梦网站怎么添加关键词
  • 合同资产科目包含增值税吗
  • 财务软件费用可以抵税吗
  • 实收资本可以用于偿还借款
  • 企业向银行借入长期借款,应借记
  • 制造费用属于哪个科目类别
  • 其他业务收入如何填写申报表
  • 投资损益科目
  • 内部招待所管理规定
  • 纳税人去税务局办什么
  • 收购一家公司需要多少股份
  • 金税盘可以用热点吗
  • 首先我们先了解一下作者英语怎么说呢
  • 应交税费进项税额转出
  • 财务软件服务费合同印花税
  • 残保金新企业用交吗
  • 禁用windows杀毒
  • 如何设置linux
  • Mail.app增强插件:Universal Mailer介绍
  • windows active directory功能
  • winio在win7下使用
  • macbook 如何设置safari的搜索引擎
  • tkmc.exe
  • win8超级按钮在哪
  • 谷歌安装安卓
  • win7系统电脑开机后直接进入系统修复怎么办
  • win10系统如何设置锁屏壁纸图片
  • linux中使用less命令分屏查看
  • node. js教程
  • Python实现Mysql数据库连接池实例详解
  • 如何利用工具人
  • 有几种导航
  • JavaScript+html5 canvas制作的圆中圆效果实例
  • android实现底部菜单
  • jquery加载中
  • androidapk网站
  • 广州市地税局副局长
  • 宁夏地税领导班子名单
  • 国税局地税局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设