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 相关文章推荐
JQuery弹出层示例可自定义
May 19 Javascript
jquery实现的V字形显示效果代码
Oct 27 Javascript
JS中对Cookie的操作详解
Aug 05 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
Oct 26 Javascript
AngularJS Controller作用域
Jan 09 Javascript
详解如何在Vue2中实现组件props双向绑定
Mar 29 Javascript
微信小程序动态显示项目倒计时效果
Jun 13 Javascript
javascript将非数值转换为数值
Sep 13 Javascript
ng-alain的sf如何自定义部件的流程
Jun 12 Javascript
JavaScript 如何计算文本的行数的实现
Sep 14 Javascript
vue.js+element 默认提示中英文操作
Nov 11 Javascript
js中实现继承的五种方法
Jan 25 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
理解PHP5中static和const关键字的区别
2007/03/19 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
php抓取网站图片并保存的实现方法
2015/10/29 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
2015/12/31 PHP
给大家分享几个常用的PHP函数
2017/01/15 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
2010/06/11 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
分析Node.js connect ECONNREFUSED错误
2013/04/09 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
javascript特殊文本输入框网页特效
2016/09/13 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
JS实现的缓冲运动效果示例
2018/04/30 Javascript
使用validate.js实现表单数据提交前的验证方法
2018/09/04 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
js中console在一行内打印字符串和对象的方法
2019/09/10 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
Python实现从百度API获取天气的方法
2015/03/11 Python
python里使用正则的findall函数的实例详解
2017/10/19 Python
在python中pandas的series合并方法
2018/11/12 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
html5使用canvas实现跟随光标跳动的火焰效果
2014/01/07 HTML / CSS
四风问题个人对照检查剖析材料
2014/09/27 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
pytorch查看网络参数显存占用量等操作
2021/05/12 Python
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang
Golang 遍历二叉树
2022/04/19 Golang
Go语言入门exec的基本使用
2022/05/20 Golang
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android