(function(){
function a(){
alert("a");
}
})();

自执行匿名函数:

  • 常见格式:(function() { /* code */ })();
  • 解释:包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。
  • 作用:可以用它创建命名空间,只要把自己所有的代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许(变量前加上window,这样该函数或变量就成为全局)。各JavaScript库的代码也基本是这种组织形式。

总结一下,执行函数的作用主要为 匿名 和 自动执行,代码在被解释时就已经在运行了。

其他写法:

(function () { /* code */ } ());
!function () { /* code */ } ();
~function () { /* code */ } ();
-function () { /* code */ } ();
+function () { /* code */ } ();

因为js是函数作用域,所以如果想实现某个功能又不想污染全局变量的时候,会用这个自执行的匿名函数,常见于jquery插件。

var data= {
table : [],
tree : {}
}; (function(dm){
for(var i = ; i < dm.table.rows; i++){
var row = dm.table.rows[i];
for(var j = ; j < row.cells; i++){
drawCell(i, j);
}
}
})(data);

我们创建了一个匿名的函数,并立即执行它,由于外部无法引用它内部的变量,因此在函数执行完后会立刻释放资源,关键是不污染全局对象。

最新文章

  1. CentOS7 Jenkins安装
  2. beautifulSoup(1)
  3. jQuery的Ajax请求数据时type无法使用GET
  4. codevs 1171 潜伏者
  5. Shell脚本编程入门(一) 分类: 学习笔记 linux ubuntu 2015-07-09 21:06 29人阅读 评论(0) 收藏
  6. 用Django做一个省份选择器
  7. c# https请求
  8. BeanUtils 日期转换(本地格式yyyy-MM-dd)转换成date
  9. 小白的CTF学习之路6——阶段测评
  10. unittest多线程生成报告-----BeautifulReport
  11. java数据结构和算法编程作业系列篇-数组
  12. POI事件模型处理execl导入功能(只支持07版本的execl)
  13. 20) maven 项目结构:all in one
  14. 解决hash冲突之分离链接法
  15. ucosii笔记(一)
  16. November 18th 2016 Week 47th Friday
  17. PHP高级教程-JSON
  18. Oracle 维护数据的完整性 一 约束
  19. 十、集成使用redis
  20. 洛谷——P2097 资料分发1

热门文章

  1. POJ 2975 Nim(博弈论)
  2. [美团 CodeM 初赛 Round A]最长树链
  3. 使用jQuery操作dom(追加和删除样式-鼠标移入移出)练习
  4. Asp.Net MVC part4 异步、校验、区域Area
  5. VHDL硬件描述语言实现数字钟
  6. [转] C/C++中printf和C++中cout的输出格式
  7. php简单常用的API
  8. css的checkbox样式变化
  9. cs-Panination
  10. 一起來玩鳥 Starling Framework(8)BitmapFont