js-notes

不言
Libérer: 2018-04-26 14:31:20
original
1343 Les gens l'ont consulté

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; 
}
Copier après la connexion

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”
Copier après la connexion
Copier après la connexion

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”
Copier après la connexion
Copier après la connexion

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; 
}
Copier après la connexion
Copier après la connexion
1. JS sera pré-compilé


var a; 
if (!(“a” in window)) { 
   a = 1; 
} 
alert(a); // undefined
Copier après la connexion
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, 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.

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”
Copier après la connexion
Copier après la connexion
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”
Copier après la connexion
Copier après la connexion

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é

< ; 🎜>

Recommandations associées :
function copy(p) { 
   let c = {}; 
   for(let i in p) { 
       c[i] = p[i]; 
   } 
   return c; 
}
Copier après la connexion
Copier après la connexion

Partage d'une autre façon d'écrire js

Explication 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal