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创建层显示标题和内容且随鼠标移动而移动
Jan 26 Javascript
jQuery实现页面滚动时智能浮动定位
Jan 08 Javascript
脚本div实现拖放功能(两种)
Feb 13 Javascript
ES6新特性之解构、参数、模块和记号用法示例
Apr 01 Javascript
使用javaScript实现鼠标拖拽事件
Apr 03 Javascript
vue.js或js实现中文A-Z排序的方法
Mar 08 Javascript
js form表单input框限制20个字符,10个汉字代码实例
Apr 12 Javascript
微信小程序-API接口安全详解
Jul 16 Javascript
js实现点击图片在屏幕中间弹出放大效果
Sep 11 Javascript
ElementUI多个子组件表单的校验管理实现
Nov 07 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
Mar 10 Javascript
VUE递归树形实现多级列表
Jul 15 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
php简单提示框alert封装函数
2010/08/08 PHP
php中hashtable实现示例分享
2014/02/13 PHP
php表单处理操作
2017/11/16 PHP
在laravel中实现ORM模型使用第二个数据库设置
2019/10/24 PHP
基于jQuery的js分页代码
2010/06/10 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
2012/12/11 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
2014/05/05 Javascript
jQuery中ajax错误调试分析
2016/12/01 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
2018/12/03 Javascript
微信小程序云开发如何使用npm安装依赖
2019/05/18 Javascript
详解一次Vue低版本安卓白屏问题的解决过程
2019/05/30 Javascript
关于NodeJS中的循环引用详解
2019/07/23 NodeJs
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
如何管理Vue中的缓存页面
2021/02/06 Vue.js
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
解决Python requests 报错方法集锦
2017/03/19 Python
Collatz 序列、逗号代码、字符图网格实例
2017/06/22 Python
python实现远程通过网络邮件控制计算机重启或关机
2018/02/22 Python
用ldap作为django后端用户登录验证的实现
2020/12/07 Python
css3绘制天猫logo实现代码
2012/11/06 HTML / CSS
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
英国优质家居用品网上品牌:URBANARA
2018/06/01 全球购物
英国最大的割草机购买网站:Just Lawnmowers
2019/11/02 全球购物
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
电子信息毕业生自荐信
2013/11/16 职场文书
高中毕业的自我鉴定
2013/12/09 职场文书
教师竞聘演讲稿
2014/05/16 职场文书
金融管理专业求职信
2014/07/10 职场文书
检讨书范文2000字
2015/01/28 职场文书
会议邀请函
2015/01/30 职场文书
民事二审代理词
2015/05/25 职场文书
收入证明怎么写
2015/06/12 职场文书
现实表现证明材料
2015/06/19 职场文书
Python Django搭建文件下载服务器的实现
2021/05/10 Python