tami: Endlosschleife abfangen

Beitrag lesen

hi 1UnitedPower,

Hier würden beide Funktionen den selben gemeinsamen Speicher nutzen und deshalb ungewollt interferieren. Um davor zu schützen kann man Closures nutzen:

var foo = (function(){

var count;
   return function(){
      console.log( ++count );
   }
};
var bar = (function(){
   var count;
   return function(){
      console.log( ++count );
   }
};

foo(); // 1
bar(); // 1
foo(); // 2

  
Der Code läuft nicht, weil hinten jeweils "());" fehlt.  
  
~~~javascript
/*jslint browser: true, devel: true */  
var foo = (function () {  
    "use strict";  
    var count = 0;  
    return function () {  
        count += 1;  
        console.log(count);  
    };  
}());  
var bar = (function () {  
    "use strict";  
    var count = 0;  
    return function () {  
        count += 1;  
        console.log(count);  
    };  
}());  
  
foo(); // 1  
bar(); // 1  
foo(); // 2

So funzts.

mfg

tami