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/09/26 15:38] – [This & self] Roge | 56-tools:javascript [2018/01/20 02:59] (Version actuelle) – [références] Roge | ||
|---|---|---|---|
| Ligne 11: | Ligne 11: | ||
| [[http:// | [[http:// | ||
| + | http:// | ||
| ===== ES6 ===== | ===== ES6 ===== | ||
| Ligne 74: | Ligne 75: | ||
| return{ | return{ | ||
| 		init: | 		init: | ||
| - | change:change | + | set:change | 
| } | } | ||
| }(); | }(); | ||
| Ligne 80: | Ligne 81: | ||
| Calling myNameSpace.set() will now invoke the change() method. | Calling myNameSpace.set() will now invoke the change() method. | ||
| + | |||
| + | ===== Bind ===== | ||
| + | //"The bind() method creates a new function that, when called, has its this keyword set to the provided value, with a given sequence of arguments preceding any provided when the new function is called."// | ||
| + | https:// | ||
| + | |||
| + | < | ||
| + | // Example showing binding some parameters | ||
| + | var sum = function(a, b) { | ||
| + | return a + b; | ||
| + | }; | ||
| + | |||
| + | var add5 = sum.bind(null, | ||
| + | console.log(add5(10)); | ||
| + | </ | ||
| ===== Closure ===== | ===== Closure ===== | ||
| Ligne 106: | 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 145: | Ligne 186: | ||
| console.log( namespace.foo ); // foo | console.log( namespace.foo ); // foo | ||
| </ | </ | ||
| + | |||
| + | 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 324: | Ligne 386: | ||
| [[http:// | [[http:// | ||
| + | [[http:// | ||
| ===== Tests scripts web: jsbin ===== | ===== Tests scripts web: jsbin ===== | ||