当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript之函数直接量(function(){})()

Javascript
[原创]javascript 定时广告显示(两个时间段)
jquery ui dialog里调用datepicker的问题
ext 代码生成器
javascript 局部页面打印实现代码
Javascript 继承实现例子
Javascript 继承机制的实现
Javascript 继承机制实例
Javascript 作用域使用说明
Javascript Math对象
Javascript Global对象
什么是JavaScript
img标签中onerror用法
使用JQuery和s3captche实现一个水果名字的验证
JavaScript写的一个DIV 弹出网页对话框
IE8 下的Js错误HTML Parsing Error...
jQuery ui 1.7更新小结
javascript 多级checkbox选择效果
google地图的路线实现代码
Javascript 访问样式表实现代码
JS 控制CSS样式表

Javascript 中的 javascript之函数直接量(function(){})()


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 435 ::
收藏到网摘: n/a

种语法是什么意思(function(){})()
如下例:
<script language="JavaScript">
(function(){
document.write("some script code");
})()
</script>

<script language="JScript" type="Text/JScript">
<!--
var a=(function(s){return s})("abc");
alert(a);
var b=function(s){return s};
alert(b("abc"));
//-->
</script>

引用
这个如何解释呢
大家应该记得这种写法
var a=function (){}
那么怎么运行a呢
那么就是a()
同样的道理
我们不通过a这个变量来存那么是如何写法
就是
function(){}()
但是你会发现这样是错的
因为解析引擎解析的时候,解析的时候发现}判断到了函数结束了
并没有把那个函数作为块来运行
那么加上()是强制把function那块作为块
by flashsoft

引用
应该叫函数直接量。
function f(x) {return x*x;}
var f=function(x) {return x*x;} ----此种写法定义的函数称为函数直接量,是定义函数的一种方法。他是一个表达式而不是语句。此函数是匿名函数,f只是对函数的引用,不是函数名。
函数直接量可以存储一个变量中或传递给其他的函数甚至被“直接调用”。
var t=(function(x) {return x*x;})(10);//定义一个函数并且调用此函数。
--------以上引自《javascript权威指南》by lyxscn


引用
就像java的匿名类一样,定义并执行一个函数