來試試用程式碼寫Blog...

//網友wangaguo詢問以下Javascript表示法的用意
(function(m) {
    alert(m);
})("Hello");
//以上的寫法相當於
var x = function(m) { alert(m); }
x("Hello");
//或是再傳統一點, 用具名函數來示範
function y(m) {
    alert(m);
}
y("Hello");
//以上三種寫法結果相同,差別在於第一種寫法不會留下任何函數或變數
//對於一次性的動作來說,可以做到真正的船過水無痕
//在先前"CODE - 動態依序載入JS"一文中也有提到
 
//至於在jQuery Plugin開發時,習慣上會寫成以下的格式
(function($) {
    //Plugin可以放心地用$代替jQuery
    //不必擔心網頁可能被設了jQuery.noConflict()
    //將$符號保留給其他Javascript Library使用
})(jQuery);

Comments

# by wangaguo

剛才寫了一次, 送出後得到以下.., 結果得就得重寫. CAPTCHA Validation Failed: Incorrect. (function(m) { alert(m); }) 像是 x("Hello")的x 部份. 比較不會解釋的是為何用()包住function, 為何不是其它符號? 另外, 看了此篇, 得到兩個重點: 1.一次性的動作來說,可以做到真正的船過水無痕 2.不必擔心網頁可能被設了jQuery.noConflict(), 將$符號保留給其他Javascript Library使用

# by 路人

function(m){alert(m);}//function (function(m){alert(m);})//產生實體 (function(m){alert(m);})("Hello")//呼叫

Post a comment