Bonjour ,
Je suis d accord que le sujet est important et il me semble que les closure sont utilisées dans ajax. Je me suis arraché les cheveux dessus. IL me semble que l important est de comprendre les termes affectation , intialisation , espace mémoire , porté des variable/fonctions et définition / éxecution .
1) var permet t il de definir la memoire avant son initiliasation ?
var a ; /*declaration*/
2) si après j utilise var et = il y a initialisation ? "=" est une fonction/operator ?
var a
a=2 /*initialisation*/
3) si j utilise b sans var , on a une affectation ?
b=1
a =b /*afffectation */
Sinon il y a un syntaxe ide,tique qui est à connaitre
() selon le code execute la fonction définit la fonction ( voir fonction anonyme plus loin)
{ } definit chaque espace de la porté/visibilité des variables
pour la notion des arguments abordé dans la vidéo il faut tester le code ci dessous
function accident() {
for( var i = 0; i < arguments.length; i++ ) {
alert("This accident was caused by " + arguments
);
}
}/*for est elle une fonction qui ne retourne rien ? return undefined */
accident("me","a car","alcohol","a tree that had no right to be in the path of my driving");
sinon voici le code en utilisant une fonction anonyme que l on execute tout de suite
(function () {
for( var i = 0; i < arguments.length; i++ ) {
alert("This accident was caused by " + arguments[i]);
}
})("a","b");
OU + explicite
(function (window) {
for( var i = 0; i < arguments.length; i++ ) {
alert("This accident was caused by " + arguments[i]);
}
})(this,"a","b");
40 minutes c'est court et les exemples sont a tester dans le navigateur pour vraiement comprendre . this , type primitive object sont des notions a comprendre. en gros javascript très facile si on réutilise le travail des autres ( snippet) mais très difficile ( si trop d implicite non compris ) dès que l on veut vraiment comprendre et "override/extends " la bibliothèque ........ .
compliquons ( sujet de vidéo ?) avec
1- mémoire Browser/node , selection/DOM ( d3.js)
2- shadowDOM , virtualDOM ( react)
3-for / foreach /array avec variable d i ( data index)
4 == = === typeof instanceof undefined value class
5- expression statement
6- closure et pattern module
7-closer callback
8- this new
9-apply call
10- ES4 / ES5 strict mode
11- prototype definition inheritance ( real weird)
12- string primitive ou object
13- callback promise deferred
14- loader AMD npm require ES6
15- context , current scope , lexical scope this eval arguments function windows frame ...
Je pense que tout ça est décris dans le guide de référence sur javascript !!!
La vidéo est vraiment bien sinon mais il est impossible de copier le code avec les vidéos . Les BON sites et livres de formations fournissent le code en ligne ou sur un CD. Les livres virtuelles permettent dans de nombreux cas le copier coller !!
un troll ici http://sametmax.com/un-gros-troll-de-plus-sur-javacscript/
cordialement [/i][/i]
Modifié par 75lionel (26 Mar 2015 - 02:12)