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 相关文章推荐
Javascript 匿名函数及其代码模式原理
Mar 19 Javascript
理解Javascript_08_函数对象
Oct 15 Javascript
Javascript 遮罩层和加载效果代码
Aug 01 Javascript
LABjs、RequireJS、SeaJS的区别
Mar 04 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
Feb 15 Javascript
干货分享:让你分分钟学会javascript闭包
Dec 25 Javascript
AngularJS入门教程之表格实例详解
Jul 27 Javascript
Javascript快速实现浏览器系统通知
Aug 26 Javascript
详解react关于事件绑定this的四种方式
Mar 09 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
Aug 20 Javascript
微信小程序自定义组件components(代码详解)
Oct 21 Javascript
js正则匹配多个全部数据问题
Dec 20 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
十大催泪虐心动漫,你能坚持看到第几部?
2020/03/04 日漫
PHP实现多服务器session共享之NFS共享的方法
2007/03/16 PHP
一段php加密解密的代码
2007/07/16 PHP
PHP学习 变量使用总结
2011/03/24 PHP
PHP延迟静态绑定示例分享
2014/06/22 PHP
js玩一玩WSH吧
2007/02/23 Javascript
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
2011/03/28 Javascript
JS自动适应的图片弹窗实例
2013/06/29 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
jquery实现的图片点击滚动效果
2014/04/29 Javascript
jQuery 插件开发指南
2014/11/14 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
2015/12/26 Javascript
js针对ip地址、子网掩码、网关的逻辑性判断
2016/01/06 Javascript
Node.js调试技术总结分享
2017/03/12 Javascript
移动端触屏幻灯片图片切换插件idangerous swiper.js
2017/04/10 Javascript
小程序api实现promise封装过程解析
2019/11/21 Javascript
python操作sqlite的CRUD实例分析
2015/05/08 Python
Python使用logging结合decorator模式实现优化日志输出的方法
2016/04/16 Python
教你用Type Hint提高Python程序开发效率
2016/08/08 Python
Python简单操作sqlite3的方法示例
2017/03/22 Python
详解python并发获取snmp信息及性能测试
2017/03/27 Python
Python中is与==判断的区别
2017/03/28 Python
pyspark 读取csv文件创建DataFrame的两种方法
2018/06/07 Python
详解python数据结构和算法
2019/04/18 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
Python面向对象多态实现原理及代码实例
2020/09/16 Python
Django Form常用功能及代码示例
2020/10/13 Python
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
计算机科学系职业生涯规划书
2014/03/08 职场文书
求职简历自我评价范例
2014/03/12 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书