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');
转载自:http://blog.csdn.net/jbgtwang/article/details/6608265
JavaScript自执行匿名函数相关推荐
- javascript 自执行匿名函数
1.函数声明和函数表达式 1 function func(){ //函数声明 2 ... 3 } 函数表达式又分为两种 第一种是命名函数表达式 1 var func = function box(){ ...
- java调用js匿名函数参数,JavaScript匿名函数、自执行匿名函数
1. 函数也是一种类型 要理解匿名函数,首先需要理解函数也是一种类型. 所以函数可以赋值给变量,如下: // 将数字类型值赋给变量 var num = 1; // 将函数类型值赋给变量 var hel ...
- 自执行匿名函数剖析整理
格式: (function(){ //代码 })(); 解释:这是相当优雅的代码(如果你首次看见可能会一头雾水:)),包围函数(function(){} ...
- 好程序员前端教程之JavaScript闭包和匿名函数的关系详解...
好程序员前端教程之JavaScript闭包和匿名函数的关系详解 本文讲的是关于JavaScript闭包和匿名函数两者之间的关系,从匿名函数概念到立即执行函数,最后到闭包.下面一起来看看文章分析,希望你 ...
- javaScript中的匿名函数
js中的匿名函数 js匿名函数 js中匿名函数的N种写法 直接上代码和截图 <!DOCTYPE html> <html> <head> <meta chars ...
- js之删除对象中的属性——delete、es6解构赋值、自执行匿名函数
js之删除对象中的属性--delete.es6解构赋值.自执行匿名函数 实例 const person = {name: '李世民',gender: 'male',age: 24 };// 删除目标对 ...
- Javascript中的自执行匿名函数
格式: (function(){ //代码 })(); 解释:这是相当优雅的代码(如果你首次看见可能会一头雾水:)),包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空 ...
- Javascript进阶:匿名函数详解
匿名函数:意如其名,就是没有名字的函数. function (arg1,arg2){..... } 匿名函数的普遍用法: 1.赋值给变量: var func=function(arg1,arg2){. ...
- JavaScript中的匿名函数及函数的闭包
1.匿名函数 函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途.匿名函数:就是没有函数名的函数. 1.1 函数的定义,首先简单介绍一下函数的定义,大致可分为三种方式 第一种: ...
最新文章
- Jquery学习笔记:利用find和children方法获取后代元素
- BeanUtils入门
- app中使用用户名/邮箱/手机号登录的思路分析
- 春节见闻之北京前门步行街
- 抓取豆瓣电影时遇到的问题记录
- 广联达只有土建打不开_广联达BIM钢筋算量为什么打开工程是灰屏?工程打不开怎么办?...
- 8、两种典型微处理器介绍
- 从全球价值链视角看,京东云数智供应链对未来经济有何影响?
- 如何查看一个vs工程使用的vs版本是哪一个?
- 蓝牙耳机选哪种的比较好、高端蓝牙耳机推荐
- TCP/IP协议 之IPV4与IPV6的区别
- 158 Linux中断基础概念
- 解决 canvas隐藏后出现滚动条的问题
- 跨境网上收款 找PayPal没错(php如何实现paypal支付)
- 从“蛙步”到“雁行”vivo的新周期与新常态
- 散列表查找为何如此之快
- CDA_Level1_学习笔记1
- bim计算机工程师考试,bim工程师考试报名条件是什么?bim工程师考试怎么报名?...
- H3CS-WLAN 无线工程师认证-郝文凯-专题视频课程
- N1文法 ーー 可能・不可能・禁止
热门文章
- Docker 是一个开源的应用容器引擎
- winfrom导出DataGridView为Excel方法
- webpack轻松入门教程
- bzoj 4551[Tjoi2016Heoi2016]树
- 模拟 Codeforces Round #288 (Div. 2) A. Pasha and Pixels
- Lucene正则表达式查询RegenxQuery
- 访问List的itemRenderer的组件中定义的方法
- CRITICAL_SECTION 学习
- git 忽略__pycache___容易被忽略的 Python 命令行参数
- java 协议处理器_协议处理器urlstreamhandler及contenthandler