位置: 编程技术 - 正文

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

  • 税金返还需要交税吗
  • 年终双薪究竟该怎么算
  • 增值税普通发票和普通发票的区别怎么交税
  • 税法对固定资产大修理
  • 收款凭证填写模板下载
  • 定金不买了可以退吗
  • 劳务公司购买材料怎么做账
  • 关于转让费的问题
  • 营改增后卖房交的增值税
  • 劳动合同解除和终止的经济补偿
  • 增值税普通发票怎么开
  • 旅游业是一个怎样的产业
  • 公司一般根据什么裁员
  • 股利分配是在当期损益吗
  • 生产成本中材料款年末要全部结转吗
  • 申报表利润总额与财务报表利润总额
  • 公司账上的钱可以转给法人账上吗
  • 单位预算支出包括哪些
  • 客户支付货款时扣除了手续费
  • 保养费计入什么科目
  • 代收代付款项入账需要什么资料
  • 年度企业所得税汇算清缴会计分录怎么做
  • 销售折让怎么开票
  • 字典树python
  • 依夫城堡
  • 从国际空间站看木星
  • 伊斯塔神
  • 实际借款成本率
  • 印花税减半征收优惠政策2020
  • vue3项目搭建
  • 税金及附加在哪里申报
  • html-css
  • PHP面向对象程序设计
  • uni-app ——使用uploadFile上传多张图片
  • 多模态 融合
  • Laravel+jQuery实现AJAX分页效果
  • 增值税发票认证不了怎么回事
  • stat命令的作用
  • ssh-keygen -m pem
  • linux扫描命令
  • 调转会计证需要什么资料
  • 各种账簿的登记依据和登记方法分别是什么
  • 一般纳税人可以开3%的发票吗
  • 物流公司卖车合法么
  • 丁字账户例题及解析
  • 出售抵债资产账务处理
  • 税局代开专票如何做账务处理?
  • 国有资产无偿划转协议
  • 工程物资是
  • 工会经费保留整数吗
  • 显示应退税额就是能退是吗
  • 从事国家重点扶持的公共基础项目
  • 怎样申请开发票
  • 矿山运输设备的点检绩效考核
  • win8pe无法识别硬盘
  • 老毛桃winpe系统对注册表信息进行备份的方法
  • mac u盘启动盘
  • linux bye
  • win7电脑开机提示oxcoooooe9
  • vs图片简单
  • android viewpager嵌套viewpager
  • python os.path模块
  • gdi双缓冲绘制
  • socketio视频教程
  • nodejs抓取网页内容
  • dns设置为网关会出现什么问题了
  • js类的实现
  • jquery方法查询api
  • 22号天蝎座的运势
  • python3的urllib
  • javascript数据结构与算法百度云视频资源
  • 深入python3
  • 事务所是干什么的会计
  • 云南定额发票真伪查询平台
  • 威科先行法律信息库价格
  • 慧算账财务公司简介
  • 企业所得税核定征收和查账征收的区别
  • 现行的企业所得税率是多少
  • 上海房产税免税面积怎么算
  • 地税注销需要什么资料
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设