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 相关文章推荐
Apply an AutoFormat to an Excel Spreadsheet
Jun 12 Javascript
关于jQuery中.attr()和.prop()的问题探讨
Sep 06 Javascript
node.js中使用q.js实现api的promise化
Sep 17 Javascript
JavaScript中实现继承的三种方式和实例
Jan 29 Javascript
js实现基于正则表达式的轻量提示插件
Aug 29 Javascript
JS常用函数和常用技巧小结
Oct 15 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
Dec 07 Javascript
Vue+axios实现统一接口管理的方法
Jul 23 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
Sep 12 Javascript
微信小程序图片自适应实现解析
Jan 21 Javascript
jQuery实现的移动端图片缩放功能组件示例
May 01 jQuery
javascript实现京东登录显示隐藏密码
Aug 02 Javascript
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
PHP文件上传原理简单分析
2011/05/29 PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
两种设置php载入页面时编码的方法
2014/07/29 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
jQuery中remove()方法用法实例
2014/12/25 Javascript
Jquery api 速查表分享
2015/01/12 Javascript
JavaScript获取元素尺寸和大小操作总结
2015/02/27 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
2015/11/30 Javascript
微信公众平台开发教程(五)详解自定义菜单
2016/12/02 Javascript
JS解决position:sticky的兼容性问题的方法
2017/10/17 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
对angular4子路由&辅助路由详解
2018/10/09 Javascript
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
Python使用MD5加密算法对字符串进行加密操作示例
2018/03/30 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
python 美化输出信息的实例
2018/10/15 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
Python JSON编解码方式原理详解
2020/01/20 Python
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
实习生体会的自我评价范文
2013/11/28 职场文书
检举信的格式及范文
2014/04/04 职场文书
2014城乡环境综合治理工作总结
2014/12/19 职场文书
处级干部考察材料
2014/12/24 职场文书
企业党员岗位承诺书
2015/04/27 职场文书
2015年英语教研组工作总结
2015/05/23 职场文书
党支部考察意见范文
2015/06/02 职场文书
生死抉择观后感
2015/06/09 职场文书
签约仪式致辞
2015/07/30 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书
python如何利用cv2模块读取显示保存图片
2021/06/04 Python
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python