Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| 56-tools:javascript [2017/10/06 23:38] – modification externe 127.0.0.1 | 56-tools:javascript [2018/01/20 02:59] (Version actuelle) – [références] Roge | ||
|---|---|---|---|
| Ligne 11: | Ligne 11: | ||
| [[http:// | [[http:// | ||
| + | http:// | ||
| ===== ES6 ===== | ===== ES6 ===== | ||
| Ligne 120: | Ligne 121: | ||
| var say2 = sayHello2(' | var say2 = sayHello2(' | ||
| say2(); // logs "Hello Bob" | say2(); // logs "Hello Bob" | ||
| + | </ | ||
| + | |||
| + | |||
| + | < | ||
| + | // closure example | ||
| + | function makeAdder(x) { | ||
| + | return function(y) { | ||
| + | return x + y; | ||
| + | }; | ||
| + | } | ||
| + | |||
| + | var add5 = makeAdder(5); | ||
| + | var add100 = makeAdder(100); | ||
| + | |||
| + | console.log(add5(2));  | ||
| + | console.log(add100(2)); | ||
| + | </ | ||
| + | |||
| + | Closure in loop: | ||
| + | < | ||
| + | for ( var d = 0; d < 3; d++ ) (function(d){  | ||
| + |   | ||
| + |     | ||
| + |     | ||
| + | }, d * 200); | ||
| + | })(d); | ||
| </ | </ | ||
| Ligne 161: | Ligne 188: | ||
| http:// | http:// | ||
| + | ===== Public & Private methods ===== | ||
| + | |||
| + | < | ||
| + | var myObject = (function() { | ||
| + |   var privateVar = ''; | ||
| + | |||
| + | function privateMethod () { | ||
| + | // ... | ||
| + | } | ||
| + | |||
| + | return { // public interface | ||
| + |     publicMethod: | ||
| + | // all private members are accesible here | ||
| + | }, | ||
| + | }; | ||
| + | })(); | ||
| + | </ | ||
| + | |||
| ===== Privileged method ===== | ===== Privileged method ===== | ||
| + | |||
| <code javascript> | <code javascript> | ||
| Ligne 340: | Ligne 386: | ||
| [[http:// | [[http:// | ||
| + | [[http:// | ||
| ===== Tests scripts web: jsbin ===== | ===== Tests scripts web: jsbin ===== | ||