Javascript提醒如何实现这一点

时间:2012-12-28 13:01:21

标签: javascript

在JavaScript中,当执行类似的操作时,如何显示警报(“用户的任何消息”):

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

这里的窗口是指JavaScript全局对象。

1 个答案:

答案 0 :(得分:2)

创建返回函数的函数,您可以将其称为(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");