2012-12-28 68 views
-1

在JavaScript中,如何顯示警報(「用戶的任何消息」)時執行這樣的事情:JavaScript警告如何實現這一

window["any"]("message")("for")("user") 

這裏的窗口指的是JavaScript的全局對象。

+1

這是什麼意思 – rkrara

+1

「已執行」?你能再詳細一點嗎? 'window ['any']'是一個返回函數的函數,它返回另一個函數? –

+0

你爲什麼要這麼做? – JJJ

回答

2

創建函數,返回功能,你就可以稱其爲一個(PARAM)(參數2)(參數3)

window.any = function(m) { 
    return function(f){ 
     return function(u) { 
      alert(m + f + u); 
     } 

    } 
} 

功能可以返回本身,以便無限制通話是可能的,但你需要調用它沒有參數去實際顯示消息:

any = function(msg){ 

    var message = ''; 
    var chain = function(){ 
    if (arguments.length) { 
     message += arguments[0] + ' '; 
    } else { 
     alert(message); 
    } 
    return chain; 
    } 
    return chain(msg); 
} 

用法: any("Message")("for")("user")();

編輯:

var any = function(message) { 
    var sentence = '', timeout = null; 
    var f = function(msg){ 
    window.clearTimeout(timeout); 
    if (sentence.length) { 
     sentence += ' '; 
    } 

    sentence += msg; 
    timeout = window.setTimeout(function(){window.alert(sentence);}, 100); 
    return f; 
    } 
    return f(message); 

} 

用法: any("Message")("for")("user");

+0

@Darhazar 能否請您解釋一下 如何使用它來提醒例如; 「你好,歡迎」 執行一個這樣的行 window [「hello」](「and」)(「welcome」); 我試過但沒有工作 – rkrara

+0

@ user1733911查看更新的答案 –

+0

謝謝。儘管對原始問題進行了一些修改,但它現在可行。 – rkrara