位置: 编程技术 - 正文

详解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万红冲后用不用缴税?
  • 差额征税是什么时候出现的
  • 资产现金流量收益率计算例题
  • 个人所得税手续费奖励是否交个税
  • 小规模差额征税全额开票和差额开票
  • 业务往来中接受礼品道德吗
  • 小规模纳税人给个人怎么开发票
  • 建筑劳务公司税负率多少才合适
  • 社保缴费基数的组成部分
  • 季度利润表格式
  • 跨月收入账务处理
  • 外购货物应抵扣的进项税额税率
  • 应收分保合同准备材料
  • 营改增后哪些费用可以抵扣
  • 采购部付款申请单和财务付款流程
  • 银行支付结算工作内容
  • 短期借款计提利息例题
  • 收到运输发票需要开票吗
  • 营改增后11
  • 税务返还手续费发放给个人需要合并扣税吗
  • 小规模纳税人开专票税率是1%还是3%
  • 固定资产投资成本的回收与实物更新
  • 原材料质量问题退回
  • 代扣代缴增值税附加税减免政策
  • 公司给员工发放的福利都要扣个税吗
  • 未分配利润怎么消化掉 避开所得税
  • xbox无法连接无线网络
  • 企业购地流程
  • linux怎么查看防火墙信息
  • 共用水电无法取水怎么办
  • 土地增值税可以扣除的税金
  • php生成php文件
  • vue项目上线教程
  • PHP:mcrypt_module_get_algo_block_size()的用法_Mcrypt函数
  • php删除语句
  • 汇算清缴资产总额怎么算
  • 智能优化算法书籍推荐
  • sql1000*1.0
  • 自费出版违法吗
  • 外贸企业出口退税申报流程
  • Mysql优化之Zabbix分区优化
  • distinct用法及搭配
  • 房地产企业买地
  • 电费账务qc
  • 暂估应付款怎么录入
  • 套期保值是什么意思举个例子
  • 建筑企业工程结算账务处理
  • SQL Server 2005 模板参数使用说明
  • 帐务处理是指什么工作
  • 会计账簿有哪些作用
  • 冲暂估的账务处理
  • 公共电话亭的话费怎么算
  • 无形资产当月减少当月计提吗
  • 污水处理工程内容包括
  • 企业票据贴现属于什么业务
  • 增值税红字冲销能跨年吗
  • 社保申报工伤怎么操作
  • 银行收到货款会计分录怎么做
  • 先开发票后付款如何记账?
  • 企业收到委托开具发票
  • 车辆使用费包括油费吗
  • 在岗职工平均工资在哪里查询
  • 供应商销售折让怎么入账
  • 小规模纳税人季度不超30万怎么做账
  • winxp任务管理器在哪
  • watchs2最新版本
  • 64位win10预览版10565更新补丁KB3105208后蓝屏怎么办?
  • 安装双系统后无法进入原来的系统
  • win7数据保护
  • 访问win10
  • jquery简单网页
  • c盘权限恢复默认设置
  • shell中的注释用什么表示
  • Android SQLite, KopDB 框架学习1——使用
  • javascript下拉列表怎么做
  • 怎么查行业代码是多少
  • 欧美 房产税
  • 消费税申报流程图
  • 政府对国税局的支持
  • 西安个人完税证明怎么开
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设