网络编程
位置:首页>> 网络编程>> JavaScript>> Js中的函数直接量

Js中的函数直接量

作者:LuLi 来源:SimpleLife 发布时间:2007-12-21 19:15:00 

标签:函数,直接量,js

这几天一直在看《Pro JavaScript Techniques》,书中有不少优美、健壮代码,让我不得不惊叹老外对语言这东西的研究程度之深,应用之灵活,很受启发。

在一些框架代码中偶尔会看到这样的写法:

代码一:


var tempObject = function doFunction() {
  ...
}(); 


代码二:


(function doFunction() {
  ...
})(); 


如果我把这个单独拿出来,你可能也一眼就看出来这段代码的巧妙之处了--它在构造函数直接量的同时直接运行了此函数,而第二种代码相对第一种而言更简洁了(PS:第二种代码用一对小括号避免了编译错误)。

在实际的代码中利用JS的这个小特性,我们可以让代码更优美,例如我们临时需要一个函数定义、执行,那么我们可以这样做。


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


这样函数执行完毕就销毁了,代码清晰,简洁明了。

再看一个函数嵌套执行的例子:


function doClick(id){
   (function(){
      (function(){
         alert(id);
      })();
   })();
}

 


当事件驱动doClick函数时,那么里面的两个嵌套函数就可以“无声无息”地执行了。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com