avascript中的自执行匿名函数应用示例


Posted in Javascript onSeptember 15, 2014

Javascript中的自执行匿名函数
格式:

(function(){ 
//代码 
})();

解释:这是相当优雅的代码(如果你首次看见可能会一头雾水:)),包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。
来个带参数的例子:

(function(arg){ 
alert(arg+100); 
})(20); 
// 这个例子返回120。

重要用途:可以用它创建命名空间,只要把自己所有的代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许

(function(){ 
function $(id){ 
return document.getElementById(id); 
} 
function __addClass(id,className,classValue){ 
$(id).style.className=classValue; 
} 
window['mySpace']={}; 
window['mySpace']['addClass']=__addClass; 
})();

上面的例子就可以用这种伪命名空间封装并保护自己的所有函数、对象和变量。而且,由于它们位于同一个函数中,所以可以互相引用。为了对受保护的代码进行全局化,随后的一对括号告诉浏览器立即执行返回的匿名函数,而且在执行期间将__addClass()赋值给了window的一个方法,这样在外部只能执行addClass而__addClass被保护起来了。我可以这样调用它:mySpace.addClass('oneId','font-width','bold')

Javascript 相关文章推荐
用js实现的一个Flash滚动轮换显示图片代码生成器
Mar 14 Javascript
js获取键盘按键响应事件(兼容各浏览器)
May 16 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
Dec 23 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
Apr 06 Javascript
JavaScript中解析JSON数据的三种方法
Jul 03 Javascript
jQuery实现向下滑出的平滑下拉菜单效果
Aug 21 Javascript
jQuery 特性操作详解及实例代码
Sep 29 Javascript
详解vue项目的构建,打包,发布全过程
Nov 23 Javascript
在Vue-cli里应用Vuex的state和mutations方法
Sep 16 Javascript
js图片查看器插件用法示例
Jun 22 Javascript
node中使用log4js4.x版本记录日志的方法
Aug 20 Javascript
vue实现锚点定位功能
Jun 29 Vue.js
JavaScript function 的 length 属性使用介绍
Sep 15 #Javascript
css与javascript跨浏览器兼容性总结
Sep 15 #Javascript
一个通过script自定义属性传递配置参数的方法
Sep 15 #Javascript
一个字符串反转函数可实现字符串倒序
Sep 15 #Javascript
jquery实现类似淘宝星星评分功能有截图
Sep 15 #Javascript
javascript使用数组的push方法完成快速排序
Sep 15 #Javascript
一款由jquery实现的整屏切换特效
Sep 15 #Javascript
You might like
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
PHP 操作文件的一些FAQ总结
2009/02/12 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
php关联数组与索引数组及其显示方法
2018/03/12 PHP
javascript 动态添加表格行
2006/06/22 Javascript
JavaScript Event学习第五章 高级事件注册模型
2010/02/07 Javascript
一个简单的js动画效果代码
2010/07/20 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
2014/09/25 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
2016/03/06 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
JS实现的简单图片切换功能示例【测试可用】
2017/02/14 Javascript
bootstrap模态框远程示例代码分享
2017/05/22 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
详解javascript常用工具类的封装
2018/01/30 Javascript
vue计算属性和监听器实例解析
2018/05/10 Javascript
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
jQuery操作事件完整实例分析
2020/01/10 jQuery
详解javascript void(0)
2020/07/13 Javascript
jquery实现拖拽添加元素功能
2020/12/01 jQuery
Vue router安装及使用方法解析
2020/12/02 Vue.js
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python退火算法在高次方程的应用
2018/07/26 Python
在python中安装basemap的教程
2018/09/20 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
Django基于客户端下载文件实现方法
2020/04/21 Python
法国时尚品牌乐都特瑞士站:La Redoute瑞士
2016/09/05 全球购物
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
JavaScript实现前端网页版倒计时
2021/03/24 Javascript
音乐器材管理制度
2014/01/31 职场文书
技术总监管理职责范本
2014/03/06 职场文书
学生会宣传部部长竞选演讲稿
2014/04/25 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
天坛导游词
2015/02/02 职场文书
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android