Maison > Article > interface Web > js-notes
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; }1. JS sera pré-compilé
var a; if (!(“a” in window)) { a = 1; } alert(a); // undefinedDe 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, l'affectation est 1.
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”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.
function copy(p) { let c = {}; for(let i in p) { c[i] = p[i]; } return c; }Partage d'une autre façon d'écrire jsExplication détaillée de l'implémentation js d'exemples de requêtes floues
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!