javascript - Quel type de données est la balise variable dans la boucle JS
漂亮男人
漂亮男人 2017-05-19 10:41:43
0
1
460

Comme indiqué ci-dessous, dans une boucle, une fois la variable de boucle supprimée, la boucle peut toujours se poursuivre. Est-ce parce que cette variable est spécialement définie comme non modifiable, ou le compilateur crée-t-il une variable interne du même nom dans le contexte ? pour une utilisation en boucle ?

for (var j = 0; j < 10; j++) {
  delete j;
  console.log(j); // 正常输出 0 1 2 3 ...
}
漂亮男人
漂亮男人

répondre à tous(1)
为情所困

Parce que la suppression ne peut affecter que les attributs d'instance et ne peut pas supprimer directement des variables ou des fonctions.
Si vous exécutez la commande suivante, la valeur de retour sera fausse, indiquant que la suppression n'est pas valide.

// 删除变量的场景
var j = 1;  
delete j;  // 返回false
console.log(j);  // 依然是1

// 删除函数的场景
function x() {    
  console.log('hello'); 
}
delete x;     // 返回false
x();          // 输出'hello', 函数依然有效

// 删除对象属性的场景
var a = {prop: 1};  
delete a.prop;   // 返回true,表示删除成功
console.log(a.prop);   // undefined

Ci-joint : supprimer la syntaxe de l'opérateur, de la documentation MDN

delete expression 

L'expression est une référence à une propriété d'objet

delete object.property
delete object['property']
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal