JavaScript/JQuery自执行函数
2024-09-05 14:11:26
JavaScript中任何库与框架设计的第一个要点就是解决命名空间与变量污染的问题。jQuery就是利用了JavaScript函数作用域的特性,采用自执行函数包裹了自身的方法来解决这个问题。从jQuery不同的版本中可以看出它的自执行函数有如下两种写法:
// 写法一
(function(window, factory) {
factory(window)
}(this, function() {
return function() {
//jQuery的调用
}
})); // 其实写法一可以看成是(function() {}()); // 写法二
(function(window, undefined) {
var jQuery = function() {}
// ...
window.jQuery = window.$ = jQuery;
})(window); // 而写法而可以看成是(function() {})();
采用这种写法的意义
JavaScript中没有私有作用域的概念,如果在多人开发的项目上,你在全局或局部作用域中声明了一些变量,可能会被其他人不小心用同名的变量给覆盖掉。根据JavaScript函数作用域链的特性,可以使用这种技术模仿一个私有作用域,把匿名函数作为一个“容器”,内部可以访问外部的变量,而外部环境不能访问内部。从而达到保护jQuery内部变量的作用。
最新文章
- daima
- python程序一直在后台运行的解决办法
- 从现在开始,使用简单优雅的validata.js
- 使用Spark分析拉勾网招聘信息(二): 获取数据
- 【转载】一致性hash算法释义
- 第一套增删改查(htm+ashx完成)
- window7快捷键
- sharepoint 开发
- 转: CSS中float和clear的理解
- 【转】使用cocos2d-console工具转换脚本为字节码
- aix下oracle数据库创建表空间和用户
- spring利用注解来注册bean到容器
- 理解Python的*args, **kwargs
- Android开发之使用URL訪问网络资源
- MVC5+EF6 入门完整教程 总目录
- ADODB——RecordSet对象
- 【Android Developers Training】 41. 向另一台设备发送文件
- JS 数据处理技巧及小算法汇总( 一)
- 跨站请求伪造攻击 CSRF
- 上传到 App Store 时出错。
热门文章
- ESP8266 LUA脚本语言开发: 准备工作-为方便学习(统一使用本人编译的固件)
- [LeetCode] 466. Count The Repetitions 计数重复个数
- Magisk —— 安卓新一代的第三方拓展,systemless模式
- css 在一定区域内滚动显示,不修改父级样式
- Canal订阅binlog变更并结合kafka实现消息缓冲
- SQL ------------- 最大与最小函数
- BCryptPasswordEncoder 判断密码是否相同
- HDU 2007-11 Programming Contest
- 大数据基础总结---HDFS分布式文件系统
- [转] vue前端异常监控sentry实践