标题:帮忙看个东西!
只看楼主
tsingchong
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-2-27
 问题点数:0 回复次数:2 
帮忙看个东西!
创建一个test.js文件,内容如下:
(function(){alert('hello world.')})();

<scritp type="text/javascript" src="test.js"/>

居然能直接执行匿名函数。
搜索更多相关主题的帖子: function hello world 
2008-02-27 18:04
tsingchong
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-2-27
得分:0 
讨论:
为什么呢?为什么在第一个括号里面函数能被直接解析执行,而把函数写在test.js里面,加载的时候只能解析语法,html调用才能触发函数题执行,想不通,为什么呢,是什么原因呢
2008-02-27 18:12
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
得分:0 
function(){alert('hello world.')}
首先,上面这个叫做匿名函数
(function(){})()
匿名函数后面加(),就是普通调用函数的用法,等同于
var a=function() {};
a();
也等同于
(a=function(){})();

此语法的作用一般被用来创建闭包或者隐藏某些不想要暴露给父作用域的变量,例如
看这篇文章:http://www.,请细心体会下,这种用法的益处

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2008-02-28 08:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-201173-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018014 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved