Cet article partage avec vous quelques notes js. Les amis intéressés peuvent y jeter un œil
1 JS sera pré-compilé une fois
var a; if (!(“a” in window)) { a = 1; }
alerte(. a); // non défini
De cette façon, le sens de la question est très clair : déclarez d'abord a, puis déterminez si a existe. S'il n'existe pas, attribuez-le à 1.
Évidemment, un testament. être toujours dans la fenêtre existe, cette instruction d'affectation ne sera jamais exécutée, donc le résultat n'est pas défini.
2. La déclaration de fonction écrasera la déclaration de variable, mais elle n'écrasera pas l'affectation de variable. Voir les châtaignes
function value(){ return 1; } alert(typeof value); //”function”
Dès que possible, la variable. La déclaration est définie ci-dessous, mais la valeur de la variable est toujours C'est une fonction, ce qui signifie que dans ce cas, la priorité de la déclaration de la fonction
est supérieure à la priorité de la déclaration de la variable, mais si la valeur de la variable se voit attribuer un valeur, le résultat sera complètement différent :
function value(){ return 1; } var value = 1; alert(typeof value); //”number”
Une fois la valeur attribuée, l'initialisation de l'affectation de variable écrase la déclaration de la fonction.
La copie superficielle copie uniquement le type de base des données. Pour les tableaux ou les objets, seule son adresse mémoire est copiée, il est donc possible que le méta-objet soit falsifié
< ; 🎜>
function copy(p) { let c = {}; for(let i in p) { c[i] = p[i]; } return c; }
var a; if (!(“a” in window)) { a = 1; } alert(a); // undefined
Il est évident que a existera toujours dans la fenêtre. Cette instruction d'affectation ne sera jamais exécutée, le résultat n'est donc pas défini.
function value(){ return 1; } alert(typeof value); //”function”
est supérieure à la priorité de la déclaration de la variable, mais si la valeur de la variable se voit attribuer un valeur, le résultat sera complètement différent :
function value(){ return 1; } var value = 1; alert(typeof value); //”number”
Une fois la valeur attribuée, l'initialisation de l'affectation de variable écrase la déclaration de la fonction.
< ; 🎜>
function copy(p) { let c = {}; for(let i in p) { c[i] = p[i]; } return c; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!