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窗口功能指南之在窗口中书写内容
Jul 21 Javascript
?牟┛途W扣了一??效果出?? target=
May 27 Javascript
子窗口、父窗口和Silverlight之间的相互调用
Aug 16 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
Apr 26 Javascript
SWFObject基本用法实例分析
Jul 20 Javascript
深入浅析JavaScript中的constructor
Apr 19 Javascript
使用jQuery制作浮动工具栏的实例分享
May 13 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
Apr 13 Javascript
原生JS 购物车及购物页面的cookie使用方法
Aug 21 Javascript
Node.js中的不安全跳转如何防御详解
Oct 21 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
Sep 19 Javascript
Vue-cli 移动端布局和动画使用详解
Aug 10 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 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
读jQuery之二(两种扩展)
2011/06/11 Javascript
iframe父页面获取子页面参数的方法
2014/02/21 Javascript
jquery 实现input输入什么div图层显示什么
2014/06/15 Javascript
Javascript获取当前日期的农历日期代码
2014/10/08 Javascript
解析如何利用iframe标签以及js制作时钟
2016/12/08 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
linux系统使用python获取内存使用信息脚本分享
2014/01/15 Python
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
python使用正则筛选信用卡
2019/01/27 Python
Python supervisor强大的进程管理工具的使用
2019/04/24 Python
python 将字符串完成特定的向右移动方法
2019/06/11 Python
python频繁写入文件时提速的方法
2019/06/26 Python
python爬虫 正则表达式解析
2019/09/28 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
Python 创建守护进程的示例
2020/09/29 Python
Python urlopen()参数代码示例解析
2020/12/10 Python
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
高山背包:High Sierra
2017/11/23 全球购物
大学自我鉴定
2013/12/20 职场文书
简历里的自我评价范文
2014/02/24 职场文书
公司租房协议书范本
2014/10/08 职场文书
校友回访母校寄语
2015/02/26 职场文书
农民工工资承诺书大全
2015/05/04 职场文书
Python实现机器学习算法的分类
2021/06/03 Python
keepalived + nginx 实现高可用方案
2022/12/24 Servers