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编写的计数器
- <html><head><title>不刷新页面查询的方法</title><meta
- 这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql>
- 下面列出了asp远程网页数据采集程序中经常用到的函数,很实用,特别是正则表达式过滤函数。包括了使用xmlhttp采集远程网页内容,使用ado
- 一个asp显示当前日期农历的代码函数,效果 今天是:农历丁亥年(猪)八月十三。调用方便!Function nl()'获取当前系统时间
- 在Microsoft SQL Server 2000中,用于数据存储的实用工具是数据库。数据库的物理表现是操作系统文件,即在物理上,一个数据
- 一。存储过程的创建和使用1.创建程序包,并在程序中创建存储过程create or replace PACKAG
- 您在访问网站时是否会在有些页面上见到这种功能---您在可以访问此网站的同时,还可以查看您免费邮箱中是否有新邮件。这个功能是不是让您觉得很心动
- 由于ACCESS本身没有提供在窗体中添加一个命令按钮实现打开通用对话框的控件,所以大家必须通过编写相关的宏才能实现此功能,但是编写出的宏限制
- 很多人错误地认为ASP是简单、低效的代名词,认为ASP是低能的,不足挂齿的,也很简单,一学就会,一琢磨就精通。有人讲ASP不安全,写ASP的
- 如何用SQL 建表? 如下:CREATE TABLE statement
- 因DWS内核目前支持的线程数很少,个人门户首页打开后,如果并发请求加载的模块数过多,很容易导致DWS崩溃,故而给之前写的AJAX类加了个顺序
- 问题:导入数据时是否需要禁用索引?解答:在使用load data导入数据时,如果导入的表是MyISAM的,对于空表,MySQL数据库会把所有
- --语 句 功 能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --
- 1、使用索引来更快地遍历表。缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索
- 在写完前面“模块化”相关的文章后,感觉试图用“模块化”本身去讲什么是“模块化”真是不容易讲得清。相信大家都多多少少能理解什么是“模块化”,但
- 桥接模式Bridge Pattern是什么桥接模式是一种结构型模式,它将抽象部分与实现部分分离开来,使它们可以独立地变化。在桥接模式中,我们
- Microsoft? SQL Server? 2000 的可用版本如下:SQL Server 2000企业版作为生产数据库服务器使用。支持
- 之前说过要聊聊 干职业设计经理的活 的问题,貌似有些朋友对这个事情还挺关心的,我理解为一方面是掌握对付猎头时候的标准答案,一方面是
- 在ASP编程中,身份认证可以说是常要用到的。但怎么样才能做到认证的安全呢?表单提交页面:sub.htm &