Outils du site

Les gens qui disent que je suis grossier ont raison. Je suis exactement grossier, et je me trouve même un peu seul. L'irrespect se perd et on se fout pas assez de la gueule des cons. [Coluche]

56-tools:javascript

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
56-tools:javascript [2017/09/26 15:38] – [This & self] Roge56-tools:javascript [2018/01/20 02:59] (Version actuelle) – [références] Roge
Ligne 11: Ligne 11:
 [[http://www.crockford.com/javascript/private.html|Doub Crockford]] //"an inner function always has access to the vars and parameters of its outer function, **even after the outer function has returned**"// [[http://www.crockford.com/javascript/private.html|Doub Crockford]] //"an inner function always has access to the vars and parameters of its outer function, **even after the outer function has returned**"//
  
 +http://2ality.com/2011/04/modules-and-namespaces-in-javascript.html
 ===== ES6 ===== ===== ES6 =====
  
Ligne 74: Ligne 75:
  return{  return{
  init:init,  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://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
 +
 +<code>
 +// Example showing binding some parameters
 +var sum = function(a, b) {
 +  return a + b;
 +};
 +
 +var add5 = sum.bind(null, 5);
 +console.log(add5(10));
 +</code>
 ===== Closure ===== ===== Closure =====
  
Ligne 106: Ligne 121:
 var say2 = sayHello2('Bob'); var say2 = sayHello2('Bob');
 say2(); // logs "Hello Bob" say2(); // logs "Hello Bob"
 +</code>
 +
 +
 +<code>
 +// closure example
 +function makeAdder(x) {
 +  return function(y) {
 +    return x + y;
 +  };
 +}
 +
 +var add5 = makeAdder(5);
 +var add100 = makeAdder(100);
 +
 +console.log(add5(2));  // 7
 +console.log(add100(2)); // 102
 +</code>
 +
 +Closure in loop:
 +<code>
 +for ( var d = 0; d < 3; d++ ) (function(d){ 
 + setTimeout(function(){ 
 +   console.log( "Value of d: ", d ); 
 +   console.log( d == d, "Check the value of d." ); 
 + }, d * 200); 
 +})(d);
 </code> </code>
  
Ligne 145: Ligne 186:
 console.log( namespace.foo ); // foo console.log( namespace.foo ); // foo
 </code> </code>
 +
 +http://tobyho.com/2011/11/02/callbacks-in-loops/
 +===== Public & Private methods =====
 +
 +<code>
 +var myObject = (function() {
 +  var privateVar = '';
 +
 +  function privateMethod () {
 +    // ...
 +  }
 +
 +  return { // public interface
 +    publicMethod: function () {
 +      // all private members are accesible here
 +    },
 +  };
 +})();
 +</code>
 +
 ===== Privileged method ===== ===== Privileged method =====
 +
  
 <code javascript> <code javascript>
Ligne 324: Ligne 386:
 [[http://jsfiddle.net/jk3vstnb/|Fade in out message]] [[http://jsfiddle.net/jk3vstnb/|Fade in out message]]
  
 +[[http://jsfiddle.net/na7bkoo8/|JS Sorting an HTML table]]
 ===== Tests scripts web: jsbin ===== ===== Tests scripts web: jsbin =====
  
Dernière modification : 2017/10/06 23:38