<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>
引用 這個如何解釋呢 大家應(yīng)該記得這種寫法 var a=function (){} 那么怎么運行a呢 那么就是a() 同樣的道理 我們不通過a這個變量來存那么是如何寫法 就是 function(){}() 但是你會發(fā)現(xiàn)這樣是錯的 因為解析引擎解析的時候,解析的時候發(fā)現(xiàn)}判斷到了函數(shù)結(jié)束了 并沒有把那個函數(shù)作為塊來運行 那么加上()是強(qiáng)制把function那塊作為塊 by flashsoft
引用 應(yīng)該叫函數(shù)直接量。
function f(x) {return x*x;} var f=function(x) {return x*x;} ----此種寫法定義的函數(shù)稱為函數(shù)直接量,是定義函數(shù)的一種方法。他是一個表達(dá)式而不是語句。此函數(shù)是匿名函數(shù),f只是對函數(shù)的引用,不是函數(shù)名。
函數(shù)直接量可以存儲一個變量中或傳遞給其他的函數(shù)甚至被“直接調(diào)用”。
var t=(function(x) {return x*x;})(10);//定義一個函數(shù)并且調(diào)用此函數(shù)。