位置: 编程技术 - 正文

详解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:mb_ereg_search_getpos()的用法_mbstring函数
  • Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
  • windows更新暂停怎么恢复
  • 暂估成本会计分录
  • 跨境服务免征增值税申报怎么填
  • macOS Big Sur 11.4 Beta 1(版本号20F5046g)正式发布
  • php和mysql的结合是目前web开发中的黄金组合
  • 与取得收入无关的成语
  • php二维数组求和
  • 工程扣款 甲方账务处理
  • 阿里云phpstudy
  • Yii2中添加全局函数的方法分析
  • 未取得专用发票详细原因怎么写
  • php关闭错误报告
  • 印花税不足一元需要缴纳吗
  • mess指令
  • dir命令参数
  • 应交所得税的科目是什么
  • 合伙企业分红怎么做账
  • phpcms 用的是什么模板引擎
  • mysql嵌套语句
  • 租集体土地建厂合法吗
  • 公司纳税信用等级B级是什么意思
  • 百旺 税控盘
  • 合营企业和联营企业的概念
  • 工资总额范围怎么填写
  • 应交税费核算范围
  • 劳务费会计分录是什么
  • 软件开发过程付什么费用
  • 应付利息的主要方式
  • 银行承兑汇票到期无力支付计入什么科目
  • 支付广告费是什么活动
  • 当月发票未作废
  • 银行结算账户的基本要求
  • 管理费用属于什么成本
  • sql平均数函数
  • 重装系统重启后怎么操作
  • mac怎么切换输入法
  • linux硬件设备分为
  • 桌面的word
  • win8如何设置默认输入法
  • 没有协议盒可以设置协议吗
  • windows定位
  • 二分法查找 js
  • js计算时间差毫秒
  • css样式表规则由什么组成
  • ubuntu下安装visual studio
  • android解析
  • python中简单的例子
  • jquery deferred对象
  • 江西国税发票查询官网
  • ca证书密码是什么
  • 加计抵减怎么计提分录
  • 郑州房子契税退税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设