js匿名函数和闭包的学习
2012-10-16 11:36
375 查看
匿名函数的写法总结有三种:
下面做个例子,通过闭包、执行匿名函数,返回一个对象。
//函数字面量:首先声明一个函数对象,然后执行它。 (function(){ alert(1); })(); //优先表达式:由于Javascript执行表达式是从圆括号里面到外面,所以可以用圆括号强制执行声明的函数。 (function(){ alert(2); }()); //Void操作符:用void操作符去执行一个没有用圆括号包围的一个单独操作数。 voidfunction(){ alert(3); }();
<inputtype="text"id="txtUser"name="txtUser"value="ok"/> <ahref="javascript:tests();">调用匿名函数</a>
functiontests(){ vartemps=document.getElementById("txtUser"); alert(temps); //匿名函数,调用方法,把上面的txtUser的文本框对象,用匿名函数去执行。这样控制了把它定义成全局变量。 (function(temps){ alert(temps.value); })(temps); }
下面做个例子,通过闭包、执行匿名函数,返回一个对象。
//执行一个匿名函数,返回一个对象,把对象赋值给Test。 varTest=(function(cTest){ vara=1;//在这里定义的变量,比如a、b、c、d,在整个Test下都可以访问到 varb=2; varc=cTest; vard; return{ getA:function(){ returna; }, getB:function(){ returnb; }, getC:function(){ returnc; } } })(3);
functiontestss(){ alert(Test.a);//不能得到a的值:是个undefined alert(Test.c);//不能得到c的值:是个undefined alert(Test.getA());//结果得到a的值:1 alert(Test.getB());//结果得到b的值:2 alert(Test.getC());//结果得到c的值:3 }
<ahref="javascript:testss();">闭包</a>
相关文章推荐
- JS学习笔记:JavaScript匿名函数与闭包(closure)
- 【JS学习笔记】 匿名函数和闭包
- 关于js匿名函数以及闭包的学习(一)
- JavaScript学习总结二:js闭包(Closure)概念
- js 闭包和匿名函数
- js中的继承和闭包的学习
- 初探swift语言的学习笔记(闭包-匿名函数或block块代码)
- js 闭包需要学习
- JavaScript学习总结二:js闭包(Closure)概念
- javascript学习笔记(十三) js闭包(转)
- 【js与jquery】匿名函数与闭包
- js学习笔记-闭包
- 【JS】浅谈匿名函数与闭包
- js 面向对象学习4 function 和闭包
- 【JS深入学习】—— 一句话解释闭包
- JS基础学习--闭包
- 匿名函数和字面量——JS学习
- JS学习之闭包的理解
- 初步学习JS中的闭包
- 【JS进阶3】闭包和匿名函数