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

Javascript
学习js所必须要知道的一些
动态生成页面元素的代码
js+FSO遍历文件夹下文件并显示
动态控制Table的js代码
javascript中的location用法简单介绍
用window.location.href实现刷新另个框架页面
从JavaScript的函数重名看其初始化方式
利用JScript中运算符"||"和"&&"的特殊特性实现代码精简
JScript中的''var''定义变量的作用域
JavaScript语言中的Literal Syntax特性分析
JS类中定义原型方法的两种实现的区别
在JavaScript中使用inline函数的问题
区分JS中的undefined,null,"",0和false
JavaScript中this关键字使用方法详解
function, new function, new Function之间的区别
JScript中的"this"关键字使用方式补充材料
JavaScript语句可以不以;结尾的烦恼
JScript中的undefined和"undefined"的区别
使用IE的地址栏来辅助调试Web页脚本
JS类库Bindows1.3中的内存释放方式分析

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 216 ::
收藏到网摘: 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的匿名类一样,定义并执行一个函数