代码之家  ›  专栏  ›  技术社区  ›  Pablo

在javascript中设置具有全局引用的函数内部超时的奇怪行为

  •  0
  • Pablo  · 技术社区  · 16 年前

    以下是函数和全局变量:

          $note_instance = Array();
          $note_count = 0;
    
          function create(text){
            count = $note_count++;
    
            time = 5000;            
    
            $note_instance[count] = $notifications.notify("create", text);
    
            setTimeout(function(){ $note_instance[count].close() }, time);
          }
    

    该函数只需打开一个通知,设置一个超时值即可在5秒内关闭它。

     create("Good Note 1");
     create("Good Note 2");
     create("Good Note 3");
    

    每个note对象在$note\u instance全局数组中都有自己的条目,因此超时不应该覆盖它们自己。

    1 回复  |  直到 16 年前
        1
  •  2
  •   SLaks    16 年前

    count 是全局变量。

    var count 函数内部。