位置: 编程技术 - 正文

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

  • 月利润报表怎么制作
  • 小微企业要缴纳印花税吗
  • 企业为个人承担的个人部分社保
  • 怎么查上个月交的社保
  • 非同一控制下企业合并对价小于可辨认
  • 房地产企业汇算清缴
  • 在建工程转固定资产账务处理
  • 个人捐赠支出扣除30%和100%扣除
  • 社保和公积金缴费基数怎么算
  • 企业注销要缴个税吗
  • 租金收入未收到 税法规定
  • 商品销售税金及附加会计分录
  • 增值税小规模纳税人的税率
  • 没有产权的房子可以公证吗
  • 外购无形资产的成本包括进口关税吗
  • 固定资产不动产和动产的区别
  • 税务局减免的税金会计分录
  • 增值税逾期申报流程
  • 专项应付款怎么记账
  • 出口退税率为0%退税收入怎么算
  • 已经提完折旧的设备改造
  • 广告公司广告费会计分录
  • win10电脑记事本在哪
  • win10记事本在哪找
  • vue+cesium怎么实现地图的加载
  • 广告公司物料报价清单
  • 辅助生产成本包含哪些
  • 会计记账的内容
  • 企业所得税的基本税率是多少?
  • 资产处置损益要写明细账吗
  • vue实现下载文件夹
  • tls版本过低怎么办
  • tar -xvf命令
  • 企业转租电费发票
  • 企业所得税是怎么产生的
  • 进项税加计抵减是什么意思
  • 销项税大于进项税当月交税吗
  • 建筑行业销售材料怎么做
  • 股东借款转增资本公积要验资吗
  • 增值税申报系统登录密码
  • 文明手语动作
  • linux mint 下mysql中文支持问题
  • 去银行取对账单需要带什么
  • sql server基本知识
  • 未分配利润是否可以全部分红
  • 销项税用转出吗
  • 预缴增值税的账务处理
  • 贷款用途不符合规定有啥危害
  • 材料的采购成本包括
  • 无发票材料可以入材料账吗
  • 存货毁损损失应计入的科目是
  • 公司投资款怎么算
  • 管理费用包括哪些
  • 新成立的公司购买的家具可以计入主营业务成本吗
  • 融资租入固定资产属于本企业资产
  • 库存商品属于什么科目
  • 账簿设置方法
  • linux虚拟机基本操作
  • dockers容器
  • 虚拟机vmx
  • 隐藏的系统
  • windows7怎么说
  • winio在win7下使用
  • linux中grep命令用法
  • windows阻止
  • Android的AsyncTask官方API谷歌翻译版
  • 微博是怎么用
  • python里模块
  • 阿里面试题和答案
  • unity3d制作ui
  • 置顶高站位
  • javascript如何绘制曲线
  • js图片浏览器
  • js如何定义类
  • jquery.data
  • 建筑单位外地缴税
  • 地税局 要官
  • 特斯拉绿色牌照
  • 企业改制和重组的区别
  • 国税增值税申报怎么记账凭证填写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设