位置: 编程技术 - 正文

JavaScript自执行函数和jQuery扩展方法详解(js自动执行点击事件)

编辑:rootadmin

推荐整理分享JavaScript自执行函数和jQuery扩展方法详解(js自动执行点击事件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js自动执行方法,js直接执行function,jquery自执行,js直接执行function,html自动执行js函数,html自动执行js函数,javascript自执行函数,javascript自执行函数,内容如对您有帮助,希望把文章链接给更多的朋友!

我们通常将JS代码写在一个单独的JS文件中,然后在页面中引入该文件。但是,有时候引入后会碰到变量名或函数名与其它JS代码冲突的问题。那么如何解决这个问题呢?作用域隔离。在JS中,作用域是通过函数来划分的,将JS代码封装到函数中进行调用可以避免变量名/函数名冲突的问题,但是这也并不是万无一失,因为封装函数本身有可能和其它函数重名,解决方案:自执行函数。

自执行函数是用一对圆括号将匿名函数包起来,加括号(传参)会立即执行。因为函数无名字,实现了作用域的绝对隔离和函数名的冲突问题。基本形式如下:

比如我们在custome.js文件中写了一些JS逻辑,并封装到函数init中。我们用自执行函数将自己定义的函数init包起来,就像下面这样。

当我们在html中引入custome.js:<script src="custome.js"></script>,自执行函数会立即执行,进而执行内部定义的init函数:

不过,自执行函数立即执行的特性,使其很难调用。通过定义jQuery扩展方法,可以解决这一问题,拿到自执行函数调用和执行的主动权。

首先我们看一下定义jQuery扩展方法的基本形式:

JavaScript自执行函数和jQuery扩展方法详解(js自动执行点击事件)

这样,通过$.myMethod()或jQuery.myMethod()就可以调用上面定义的方法。

定义jQuery扩展方法还有另外一种方式:.fn

通过如上方式定义的扩展方法,需要通过jQuery选择器调用,比如通过标签选择器$("button").myMethod(args)

了解了JS自执行函数和jQuery扩展方法后,我们将二者结合起来。

下面我们利用自执行函数立即执行的特点,来定义jQuery扩展方法:

说明,这个自执行函数接收jQuery对象作为参数,然后在内部为jQuery定义一个扩展方法myMethod,该方法执行真正的逻辑代码init函数

调用:

说明:

jQuery文件引入后,jQuery对象全局可用;紧接着引入自定义JS文件custome.js,其中的自执行函数接收jQuery对象为参数,立即执行,在内部为jQuery定义一个扩展方法myMethod然后我们就可以在页面加载完成后,通过调用$.meMethod()或jQuery.myMethod()来执行init函数

标签: js自动执行点击事件

本文链接地址:https://www.jiuchutong.com/biancheng/368452.html 转载请保留说明!

上一篇:Popup弹出框添加数据实现方法(popupwindow底部弹出)

下一篇:JavaScript中Require调用js的实例分享(js require())

  • 增值税属于哪个部门
  • 外购商品赠送怎么做账
  • 认缴制投资方的账务处理
  • 航天信息服务费不交可以吗
  • 商业承兑汇票利息什么时候支付
  • 未开票收入下月开票怎么做分录
  • 收回多借差旅费
  • 非货物贸易核查项下
  • 幼儿园收取生活费通知
  • 红字冲销增值税专用发票怎么写
  • 工程款材料费票怎么开?
  • 税务年报多少钱
  • 季度末需要结转什么科目
  • 企业所得税汇算清缴网上申报流程
  • 买二手面包注意事项
  • 发票二维码压线可以用吗
  • 一次性发放几个月的工资怎么申报
  • 生产成本为什么不属于费用
  • 工商年报纳税总额是应缴还是实缴
  • 企业出售已使用过的固定资产税率
  • 无形资产怎么核算成本
  • 企业核算方法
  • 融资租入固定资产的改建支出计入什么科目
  • 移动纸质发票
  • 出口退税进口免税
  • 分期收款计提销项税怎么算
  • 苹果7充电设置在哪里
  • 可转债 承销
  • win10安装版u盘安装
  • 苹果电脑录屏的视频保存在哪里
  • 简述linux系统
  • 营改增之后账务怎么处理
  • dghm.exe是什么程序
  • php零基础教程
  • 项目中的问题
  • 终身职业技能培训
  • 转让土地需要办什么手续
  • php数组按照某个字段排序
  • DOMException: Failed to execute ‘insertBefore‘ on ‘Node‘: The node before which the new node ...报错
  • 今日清明是清明开始还是结束
  • web前端面试题最新
  • axios发送多个请求
  • 支付第三方劳务费计入什么科目
  • 开了专票就不能享受政策
  • phpcms如何配置404
  • js继承方式及其优缺点
  • 利息发票可以抵扣吗
  • 接受捐赠的固定资产怎么计提折旧
  • 会务费什么企业可以开
  • 如果没有抄税就申报了
  • 其它应付款的账户是什么
  • 支付员工的餐费怎么入账
  • 无形资产多摊销怎么处理
  • 酒店客房收入会计分录
  • 误餐补助需要提供发票吗
  • 月末结转销售会计分录
  • 科目余额表没有本年累计怎么办
  • 私营公司商业汇票怎么开
  • mysql5.7.19 winx64解压缩版安装配置教程
  • 解决Win7 x64安装解压版mysql 5.7.18 winx64出现服务无法启动问题
  • sqlserver数据完整性
  • win2008r2下载
  • linux文件详解
  • Usrshuta.exe - Usrshuta是什么进程
  • win8系统怎么重新安装系统
  • win102020h2版本
  • koeidsnd.dll
  • cocos2dx4.0教程
  • 页面模板排序
  • Android 中的 TableLayout 继承自
  • opengl深度值与z值
  • jQuery插件安装教程
  • bootstrap基础教程
  • 统计重复出现的次数
  • javascript字符串操作函数
  • python 命令
  • javascript工作
  • 带领大家学习javascript基础篇(一)之基本概念
  • 安卓手机怎么自定义
  • 电脑多窗口同步操作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设