javascript之函數(shù)直接量(function(){})()
更新時(shí)間:2007年06月29日 00:00:00 作者:
種語(yǔ)法是什么意思(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>
引用
這個(gè)如何解釋呢
大家應(yīng)該記得這種寫(xiě)法
var a=function (){}
那么怎么運(yùn)行a呢
那么就是a()
同樣的道理
我們不通過(guò)a這個(gè)變量來(lái)存那么是如何寫(xiě)法
就是
function(){}()
但是你會(huì)發(fā)現(xiàn)這樣是錯(cuò)的
因?yàn)榻馕鲆娼馕龅臅r(shí)候,解析的時(shí)候發(fā)現(xiàn)}判斷到了函數(shù)結(jié)束了
并沒(méi)有把那個(gè)函數(shù)作為塊來(lái)運(yùn)行
那么加上()是強(qiáng)制把function那塊作為塊
by flashsoft
引用
應(yīng)該叫函數(shù)直接量。
function f(x) {return x*x;}
var f=function(x) {return x*x;} ----此種寫(xiě)法定義的函數(shù)稱(chēng)為函數(shù)直接量,是定義函數(shù)的一種方法。他是一個(gè)表達(dá)式而不是語(yǔ)句。此函數(shù)是匿名函數(shù),f只是對(duì)函數(shù)的引用,不是函數(shù)名。
函數(shù)直接量可以存儲(chǔ)一個(gè)變量中或傳遞給其他的函數(shù)甚至被“直接調(diào)用”。
var t=(function(x) {return x*x;})(10);//定義一個(gè)函數(shù)并且調(diào)用此函數(shù)。
--------以上引自《javascript權(quán)威指南》by lyxscn
引用
就像java的匿名類(lèi)一樣,定義并執(zhí)行一個(gè)函數(shù)
如下例:
<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>
引用
這個(gè)如何解釋呢
大家應(yīng)該記得這種寫(xiě)法
var a=function (){}
那么怎么運(yùn)行a呢
那么就是a()
同樣的道理
我們不通過(guò)a這個(gè)變量來(lái)存那么是如何寫(xiě)法
就是
function(){}()
但是你會(huì)發(fā)現(xiàn)這樣是錯(cuò)的
因?yàn)榻馕鲆娼馕龅臅r(shí)候,解析的時(shí)候發(fā)現(xiàn)}判斷到了函數(shù)結(jié)束了
并沒(méi)有把那個(gè)函數(shù)作為塊來(lái)運(yùn)行
那么加上()是強(qiáng)制把function那塊作為塊
by flashsoft
引用
應(yīng)該叫函數(shù)直接量。
function f(x) {return x*x;}
var f=function(x) {return x*x;} ----此種寫(xiě)法定義的函數(shù)稱(chēng)為函數(shù)直接量,是定義函數(shù)的一種方法。他是一個(gè)表達(dá)式而不是語(yǔ)句。此函數(shù)是匿名函數(shù),f只是對(duì)函數(shù)的引用,不是函數(shù)名。
函數(shù)直接量可以存儲(chǔ)一個(gè)變量中或傳遞給其他的函數(shù)甚至被“直接調(diào)用”。
var t=(function(x) {return x*x;})(10);//定義一個(gè)函數(shù)并且調(diào)用此函數(shù)。
--------以上引自《javascript權(quán)威指南》by lyxscn
引用
就像java的匿名類(lèi)一樣,定義并執(zhí)行一個(gè)函數(shù)
您可能感興趣的文章:
- js函數(shù)使用技巧之 setTimeout(function(){},0)
- JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
- js 中{},[]中括號(hào),大括號(hào)使用詳解
- js面向?qū)ο笤O(shè)計(jì)用{}好還是function(){}好(構(gòu)造函數(shù))
- 解決css和js的{}與smarty定界符沖突問(wèn)題的兩種方法
- 解析Javascript中大括號(hào)“{}”的多義性
- 詳解JavaScript語(yǔ)法對(duì){}處理的坑爹之處
- javascript的 {} 語(yǔ)句塊詳解
相關(guān)文章
只需20行代碼就可以寫(xiě)出CSS覆蓋率測(cè)試腳本
短短20行代碼,就可以寫(xiě)一個(gè)CSS覆蓋率測(cè)試腳本,需要的朋友參考下2013-04-04Javascript基礎(chǔ)知識(shí)(三)BOM,DOM總結(jié)
本文是基礎(chǔ)知識(shí)系列的第三篇文章,主要介紹javascript中BOM,DOM的一些心得總結(jié),非常實(shí)用,有需要的朋友可以參考下2014-09-09Javascript 學(xué)習(xí)筆記之 對(duì)象篇(二) : 原型對(duì)象
Javascript 并沒(méi)有類(lèi)繼承模型,而是使用原型對(duì)象 prototype 進(jìn)行原型式繼承。盡管人們經(jīng)常將此看做是 Javascript 的一個(gè)缺點(diǎn),然而事實(shí)上,原型式繼承比傳統(tǒng)的類(lèi)繼承模型要更加強(qiáng)大。舉個(gè)例子,在原型式繼承頂端構(gòu)建一個(gè)類(lèi)模型很簡(jiǎn)單,然而反過(guò)來(lái)則是個(gè)困難得多的任務(wù)。2014-06-06javascript 全等號(hào)運(yùn)算符使用說(shuō)明
看到這樣一行代碼 if(typeof item === "string" ) ,看見(jiàn)有3個(gè)等號(hào)以前從沒(méi)這么寫(xiě)過(guò),可能是我的JS技術(shù)還處于初級(jí)的原因吧,我去網(wǎng)上查了一些資料網(wǎng)上說(shuō)這是全等于符號(hào)2010-05-05JavaScript arguments 多參傳值函數(shù)
在一個(gè)函數(shù)體內(nèi),標(biāo)識(shí)符arguments引用了arguments對(duì)象的一個(gè)特殊屬性??梢园凑諗?shù)目(而不是名字)獲取傳遞給函數(shù)的參數(shù)值。2010-10-10