@@ -5,7 +5,7 @@ Il existe en javascript deux portés de variable : **Locale** et **Globale**.<br
**Variable locale** : accessible à l'intérieur d'une fonction à partir de la ligne où elle est déclarée <br>
**Variable globale** : accessible dans tout le programme (sachant que la plus grande portée est `window`)<br>
Il faut garder à l'esprit que une `function = une portée`
Il faut garder à l'esprit qu' une `function = une portée`
### Prenant un exemple : <br>
...
...
@@ -39,7 +39,7 @@ for(i = 0; i < 10; i++) {
}
```
Pour remédier à ce problème on utilise le mot clé `var `pour déclarer toutes nos variables
Pour remédier à ce problème , utiliser systématiquement le mot clé `var `pour déclarer des variables
```
function genericFunctionName() {
for(var i = 0; i < myArray.length; i++) {
...
...
@@ -53,7 +53,7 @@ for(var i = 0; i < 10; i++) {
### Créer un espace de travail sécurisé pour les variables :+1_tone3:
Afin de maîtriser la portée de nos variable, il est conseillé de commencer tout `fichier.js` ou balise `<script></script>` par la première ligne et de le terminer par la 2ème.
Afin de maîtriser la portée des variables, il est conseillé de commencer tout `fichier.js` ou balise `<script></script>` par la première ligne du script suivant et de le terminer par la 2ème.
```
(function() {
...
...
@@ -69,8 +69,35 @@ Exemple de fichier1.js
// ...etc
}())
```
### Le casse tête `undefined` et `null `
### Egalité faible et Egalité stricle
```
1 == 1 //égalité faible
1===1 //égalité stricle
```
Le test d'égalité faible compare deux valeurs après les avoir converties en valeurs d'un même type [Mozilla foundation]
```
1 == 1 // true
"1" == 1 // true
1 == '1' // true
0 == false // true
0 == null // false
var object1 = {"value":"key"}, object2={"value":"key"};
object1 == object2 //false
0 == undefined // false
null == undefined // true
```
### Le casse tête `undefined` et `null `
<br>
`undefined `: une variable qui n'a pas de valeur a la valeur `undefined` qui est elle même de type `undefined `