function oClick4(){
? ? var ajQuery4 = function(){
? ? ? ? show('ajQuery4')?
? ? }();
}
這個我變成:
function oClick4(){
? ? function(){
? ? ? ? show('ajQuery4')?
? ? }();
}
之后,點擊“點擊測試4”,就沒有字符串“ajQuery4”輸出了。。這是為什么呢??
function oClick4(){
? ? var ajQuery4 = function(){
? ? ? ? show('ajQuery4')?
? ? }();
}
這個我變成:
function oClick4(){
? ? function(){
? ? ? ? show('ajQuery4')?
? ? }();
}
之后,點擊“點擊測試4”,就沒有字符串“ajQuery4”輸出了。。這是為什么呢??
2014-10-21
舉報
2014-12-24
function () {
? ? /* code */ ?
}
這是函數(shù)申明, 后面直接加()是語法錯誤的
var o = function () {
}();
在"="后function, 這樣是表達式, 才可以執(zhí)行
加括號是把函數(shù)聲明放到一個塊中
(function () {
? ? alert("ok");
})();
2014-11-05
這個自執(zhí)行我感覺會用,但還是不太理解,看了一下講義上的說法:
????“jQuery使用()將匿名函數(shù)括起來,然后后面再加一對小括號(包含參數(shù)列表),那么這小括號能把我們的表達式組合分塊,并且每一塊(也就是每一對小括號),都有一個返回值。這個返回值實際上也就是小括號中表達式的返回值。所以,當(dāng)我們用一對小括號把匿名函數(shù)括起來的時候,實際上小括號返回的,就是一個匿名函數(shù)的Function對象。因此,小括號對加上匿名函數(shù)就如同有名字的函數(shù)般被我們?nèi)〉盟囊梦恢昧恕K匀绻谶@個引用變量后面再加上參數(shù)列表,就會實現(xiàn)普通函數(shù)的調(diào)用形式?!?
還是不太懂!
看到上面小鳥說的“在function前加上一個+ ?讓其成為表達式 ?就可以執(zhí)行了”我感覺就是上面講的那個意思。但是我沒搞明白,因為我第一次看到匿名函數(shù)的時候有這么個想法:
如果"()"可以當(dāng)做變量名的話,是不是可以這么理解呢??
var () = function(){alert("ok")}; ()();
這樣就跟自執(zhí)行是一樣的了;
感覺應(yīng)該是不對的,誰能幫我解釋一下這個表達式怎么就可以執(zhí)行了呢??。。?/p>
2014-11-05
function(){}();這樣是不行的,因為找不到這個匿名函數(shù),假如有很多個匿名的函數(shù)的話,瀏覽器上哪知道你要執(zhí)行的是哪一個呢,所以要給它命名才能找到它,例如:var fun1 = function(){alert("ok")}();這樣就是對的.再一個就是自執(zhí)行函數(shù):(function(){alert("ok")})();?
2014-11-05
函數(shù)不能這樣執(zhí)行 ? 你可以加括號或者在function前加上一個+ ?讓其成為表達式 ?就可以執(zhí)行了
2014-10-22
語法錯誤,匿名函數(shù)立執(zhí)行 ()() ,函數(shù)需要括號。