-1

JavaScript で、次のようなものが実行されたときにアラート (「ユーザーへの任意のメッセージ」) を表示する方法:

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

ここで、window は JavaScript グローバル オブジェクトを指します。

4

1 に答える 1

2

関数を返す関数を作成すると、それを a(param)(param2)(param3) として呼び出すことができます

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

   }
}

関数はそれ自体を返すことができるため、無制限の呼び出しが可能ですが、実際にメッセージを表示するには、param なしで呼び出す必要があります。

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");

于 2012-12-28T13:05:49.370 に答える