位置: 编程技术 - 正文

详解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:xml_set_external_entity_ref_handler()的用法_XML解析器函数
  • 公司撤股后还要担责任吗
  • 以合同条款无法达成一致要求返还定金
  • 今夕七夕
  • 个体工商户年报逾期怎么办
  • [Vue]Vue3学习笔记(尚硅谷)
  • centos安装epel
  • wordpress整站备份
  • wordpress文章保存在哪里
  • 工资直接计入管理费用了怎么办
  • 金融资产减值的三个阶段
  • 在建工程的前期工程
  • mysql使用指南
  • centos7.3安装
  • 政府扶持资金所得税税率
  • 境外公司汇款给个人要交税吗
  • 短期投资计提跌价准备
  • SQL2005中char nchar varchar nvarchar数据类型的区别和使用环境讲解
  • mysql怎么使用表
  • 备用金支出没有发票怎么办
  • 企业申报纳税都交什么税
  • 核定征收适用于什么税率
  • 社保费阶段性减免政策到什么时候
  • 服务业小规模纳税人全套做账
  • 电力行业规定
  • 办公用品开普票几个点
  • 库存股 注销
  • 一般纳税人进销不符怎么办
  • 母子公司间固定资产交换
  • 纳税人在工作
  • 银行利息收入怎么计算
  • 发票开出来对方不走账会怎么样?
  • 收到厂家返利账务处理
  • 电子发票显示错误信息是什么原因
  • 在windows上装ubuntu
  • win10鼠标指针在文本区很小
  • linux中sed详细用法
  • win1020h2正式版
  • windows下打开注册表的命令是什么
  • Win10如何还原输入法
  • bootstrap4和3
  • Unity3D中Javascript的基本使用与介绍详解
  • opengl矩形
  • 批处理文件的拷贝怎么写
  • python中文分词代码
  • 脚本合集
  • node搭建本地服务器运行html
  • linux开机启动进程
  • iframe的替代方案
  • c语言 ls
  • jquery warp
  • jquery弹出框样式大全
  • Android ViewPager+Fragment滑动选项卡,tab点击选项卡
  • 国家税务发票查验平台手机怎么查
  • 广东国税局发票查询系统
  • 重大税务案件审理办法51号令
  • 上饶市税务局咨询电话
  • 江苏省国家税务局总局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设