位置: 编程技术 - 正文

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

  • 北京增值税发票打印边距设置
  • 公司注销后账本怎么处理
  • 会计核算职能有哪些特征
  • 组织机构代码是营业执照哪几位数字
  • 滴滴打车电子票怎么取票
  • 小规模进项负数发票需要认证吗
  • 暂估入库原材料成本结转后期发票到怎么处理
  • 事业单位公务卡制度
  • 私营独资企业是公司还是非公司
  • 租的厂房再转租怎么开票抵扣
  • 普票开票开给个人怎么开
  • 总资产报酬率可以用净利润计算吗
  • 废旧物资销售如何征税
  • 劳务派遣服务用简易计税方法吗
  • 个税申报异常怎么办
  • 我的初级备考经验怎么写
  • 标准差超过多少不合理
  • 电信网费普通发票税率为什么是0
  • 公司税务风险怎么解决
  • 在windows中,经常有一些菜单选项呈暗灰色
  • 怎么免费获取流量
  • iphone如何录音转文字
  • wifi安全助手每日提现
  • 取得经营所得及其他所得交纳的所得税
  • php中字符串函数
  • 公司资产总额怎么算的啊
  • 偷税漏税如何处罚
  • dxva2.dll是什么意思
  • 工业企业制造费用核算范围
  • 价税款均未支付
  • codeigniter3中文手册
  • 比利时的平菇能吃吗
  • 长期待摊费用的会计分录
  • JS之location对象详解
  • 利息收入如何会计分录
  • 计算机网络拓扑结构有哪些
  • typescript tsconfig
  • eyring模型
  • 固定资产没有价值怎么入账
  • 公司发放工作服账务处理
  • 公允价值变动收益借方是增加还是减少
  • 水电费是收据能入账不
  • 购买的无形资产交印花税吗?
  • java委托模式和代理模式
  • php跳转到指定网页代码
  • 资产负债表季报是累计三个月数据吗
  • 记账凭证装订好了如何在拆开
  • 分公司可以独立签约吗
  • 个人缴纳公积金的方法
  • 资产负债表应交税费是负数正常吗
  • 外币账户结汇至人民币账户
  • 应收账款提坏账分录
  • 农产品投入产出法怎么计算
  • 仓库用托盘怎么入账
  • 不同税率的产品可以开在同一张发票上吗
  • 施工单位的罚款标准
  • 一般纳税人暂估入库的会计分录怎么写
  • 汽车修理厂利润
  • 公对私转账有没有手续费
  • 房地产开发企业增值税税率
  • 成本费用和损失的区别
  • mysql7.x单独安装mysql的方法
  • 如何设置window图标大小
  • 进程是什么 进程类型
  • win7系统不能修改
  • linux系统批量替换内容
  • Ubuntu如何安装软件
  • 升级win10之后东西不见了
  • js的三种循环
  • 结合mint-ui移动端下拉加载实践方法总结
  • js setTimeout opener的用法示例详解
  • vue.js computed
  • jquery给元素添加属性值
  • Node.js+Express+MySql实现用户登录注册功能
  • python安装后怎么用
  • 浙江职称评审网官网
  • 2020年增值税运费税率是多少
  • 济南税务局投诉电话多少
  • 城建税教育费附加怎么做分录
  • 杭州文明城市几连冠
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设