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 相关文章推荐
js 用CreateElement动态创建标签示例
Nov 20 Javascript
javascript实现数字+字母验证码的简单实例
Feb 10 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
Oct 29 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
Feb 13 Javascript
原生js实现类似弹窗抖动效果
Apr 02 Javascript
关于Angular2 + node接口调试的解决方案
May 28 Javascript
详解JS数组Reduce()方法详解及高级技巧
Aug 18 Javascript
Vuex 入门教程
Jan 10 Javascript
JS加密插件CryptoJS实现的DES加密示例
Aug 16 Javascript
在Vant的基础上实现添加表单验证框架的方法示例
Dec 05 Javascript
多个vue子路由文件自动化合并的方法
Sep 03 Javascript
js简单粗暴的发布订阅示例代码
Jan 23 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
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
JS实现在页面随时自定义背景颜色的方法
2015/02/27 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
原生javascript实现图片无缝滚动效果
2016/02/12 Javascript
Vue.2.0.5过渡效果使用技巧
2017/03/16 Javascript
JavaScript中的遍历详解(多种遍历)
2017/04/07 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
使用cookie绕过验证码登录的实现代码
2017/10/12 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
vue中使用WX-JSSDK的两种方法(推荐)
2020/01/18 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
搭建vscode+vue环境的详细教程
2020/08/31 Javascript
Python安装模块的常见问题及解决方法
2018/02/05 Python
python通过zabbix api获取主机
2018/09/17 Python
用python做游戏的细节详解
2019/06/25 Python
关于Tensorflow 模型持久化详解
2020/02/12 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
CAT鞋美国官网:CAT Footwear
2017/11/27 全球购物
英国第一家领先的在线处方眼镜零售商:Glasses Direct
2018/02/23 全球购物
高一家长会邀请函
2014/01/12 职场文书
安踏广告词改编版
2014/03/21 职场文书
倡导文明标语
2014/06/16 职场文书
同意报考证明
2015/06/17 职场文书
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android