javascript (function() { /* code */ })() 自执行函数
2024-08-23 06:54:56
(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);
我们创建了一个匿名的函数,并立即执行它,由于外部无法引用它内部的变量,因此在函数执行完后会立刻释放资源,关键是不污染全局对象。
最新文章
- CentOS7 Jenkins安装
- beautifulSoup(1)
- jQuery的Ajax请求数据时type无法使用GET
- codevs 1171 潜伏者
- Shell脚本编程入门(一) 分类: 学习笔记 linux ubuntu 2015-07-09 21:06 29人阅读 评论(0) 收藏
- 用Django做一个省份选择器
- c# https请求
- BeanUtils 日期转换(本地格式yyyy-MM-dd)转换成date
- 小白的CTF学习之路6——阶段测评
- unittest多线程生成报告-----BeautifulReport
- java数据结构和算法编程作业系列篇-数组
- POI事件模型处理execl导入功能(只支持07版本的execl)
- 20) maven 项目结构:all in one
- 解决hash冲突之分离链接法
- ucosii笔记(一)
- November 18th 2016 Week 47th Friday
- PHP高级教程-JSON
- Oracle 维护数据的完整性 一 约束
- 十、集成使用redis
- 洛谷——P2097 资料分发1