位置: 编程技术 - 正文

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())

  • 注会与税务师有什么区别
  • 账龄划分模板
  • 出租包装物租金是营业外收入吗
  • 存款利息收入需要缴纳所得税吗
  • 市场推广费属于广告费用吗
  • 程序法和实体法的划分标准
  • 开具不规范的发票
  • 商品盘点短缺和溢余的核算
  • 企业的主管部门承担什么责任
  • 外购生物资产的成本不包括
  • 应收账款未收到是否要交税
  • 土地划拨需要缴纳增值税
  • 审计费用需要计什么科目
  • 未成立工会的企业、事业单位
  • 股东向公司借款需要交税吗
  • 预交增值税后如何处理
  • 企业净资产增长率上升说明什么
  • 转出未交增值税借方余额表示什么
  • 加速折旧的会计分录
  • 企业社会贡献总结怎么写
  • macos mojace
  • 鸿蒙2.0正式版升级
  • 子公司转为分公司,是不是需要缴纳土地增值税
  • php怎么输出汉字
  • 电力安装有前途吗
  • runservice.exe - runservice是什么进程 有什么用
  • 教程图怎么做
  • 结转消费成本的会计分录
  • 出口货物免抵退税 组织收入 影响
  • php递归函数的例子
  • 公司一直没有收入怎么办
  • 广告费发票内容是什么
  • 企业合并分立
  • 房产税城镇土地使用税申报期限
  • 狮子岩斯里兰卡
  • Yii2中hasOne、hasMany及多对多关联查询的用法详解
  • KITTI数据集可视化(一):点云多种视图的可视化实现
  • 所得税费用当月计提吗
  • 咨询服务业的收入确认原则
  • 企业利润分配的账务处理
  • 年报营业额填多少不纳税
  • 如何用python绘制
  • 教育经费什么情况下可以报销
  • 在mysql中创建数据库和表作业
  • MySQL中UPDATE与DELETE语句的使用教程
  • python调试器是什么
  • 不符合无形资产摊销条件
  • 非营利企业的劳动力需求有哪些特点
  • 报销替票的风险是什么
  • 购进运输服务取得的成果
  • 企业所得税余额为负数
  • 个税申报工资比实发工资高
  • 小额贷款在银行需要什么条件
  • 企业借款利息如何计算
  • 经费开支要求
  • 增值税普通发票可以抵扣多少钱
  • 质量有问题不给退怎么办
  • 明细账建账的步骤
  • windows录音机录音文件格式
  • 虚拟机增加磁盘选择物理磁盘分区
  • 电脑的技巧
  • ubuntu系统中文件夹不能改名
  • ,linux
  • linux系统中
  • svchosl.exe - svchosl是什么进程 有什么作用
  • linux中rename命令详解
  • shell脚本echo输出变量
  • opengl深度值与z值
  • JavaScript控制台输出
  • javascript文本框获得焦点
  • android network
  • python并发和并行
  • js中unbind
  • 超链接打开比较合适的方式是什么
  • 怎么设置python前面序号
  • 消费税增值税的区别与联系
  • 增值税普通发票有什么用
  • 百望税控盘怎么导出清单明细
  • 上海哪能玩
  • 医保未参保怎么参保 支付宝
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设