Maison > interface Web > js tutoriel > Explication détaillée des étapes de suppression de l'opération de suppression js

Explication détaillée des étapes de suppression de l'opération de suppression js

php是最好的语言
Libérer: 2018-08-10 09:24:16
original
3005 Les gens l'ont consulté

Introduction

permet de supprimer les attributs d'un objet.

Grammaire

delete expresson
Copier après la connexion
  • 1

  • 2

express doit être une référence à un objet, tel que

delete object.propertydelete object['property']
Copier après la connexion
  • 1

  • 2

  • 3

  • 4

Si l'expression n'est pas une référence à un objet, la suppression sera ne fonctionne pas Aucune fonction

Valeur de retour

En mode strict, si l'attribut est un attribut non configurable, la suppression lèvera une exception. false est renvoyé. Renvoie vrai dans les autres cas.

Fonction

  1. Vous pouvez supprimer les variables globales implicites, mais vous ne pouvez pas supprimer les variables globales explicites.
    Les variables globales sont en fait des propriétés de l'objet global (fenêtre).

x = 10;var y = 20;delete x; //true;delete y; //false
Copier après la connexion
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  1. Les propriétés intégrées des objets intégrés ne peuvent pas être supprimées, mais les propriétés définies par l'utilisateur peuvent être supprimées.

obj = {

    h : 10}var obj1 = {
    h: 10}delete Math.PI; // falsedelte obj.h; //truedelete obj; //ture ,obj 是全局变量的属性,而不是变量。delete obj1.h;//truedelete obj1; //false 全局显示变量不能被删除function fn(){

    var z = 10;    delete z; //false
    //z是局部变量,不能被删除,delete只能删除对象的属性。}delete fn; //false//fn 相当于是一个匿名变量,所以也不能被删除。
Copier après la connexion
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

  • 17

  • 18

  • 19

  • 20

  • 21

  • 22

  • 23

  • 24

  • 25

  • 26

  • 27

  • 28

  1. Impossible d'en supprimer un Propriétés dont les objets héritent du prototype, mais peuvent être supprimés directement du prototype

function foo(){}
foo.prototype.name = 'zhangsan';var f = new foo();//delete只能删除自己的属性,不能删除继承来的属性delete f.name; // false console.log(f.name);//zhangsandelete foo.prototype.anme; // trueconsole.log(f.name); // undefined
Copier après la connexion
  • 1

  • <🎜 ; >
  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

Suppression d'éléments de tableau

Lors de la suppression d'éléments de tableau, la longueur du tableau ne change pas Petit.

var arr = [1,3,4,6,73,2];delete arr[2];

console.log(arr.length); // 6console.log(arr[2]); //undefiendconsoel.log(arr); //[ 1, 3, , 6, 73, 2 ]
Copier après la connexion
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

Fonction : La suppression d'éléments dans la boucle forEach n'affectera pas le résultat de la boucle

var arr = [1,3,5,21,3,4,53,21,5,2];

arr.forEach(function(val,index){

    if(val < 10){        delete arr[index];
    }
})

console.log(arr); //[ , , , 21, , , 53, 21, ,  ]//可以使用filter过滤掉空值 [ 21, 53, 21 ]arr = arr.filter(function(val){return val});
Copier après la connexion
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

Comparaison avec Array.splice

arr.forEach(function(val,index){

    if(val < 10){

        arr.splice(index,1);
    }
})//没有答案我们预想的结果,因为splice删除元素会改变数组的长度。//所以说删除一个值后,其后的那个值占据了它的位置,在判断的时候就会漏掉。console.log(arr);// [ 3, 21, 4, 53, 21, 2 ]
Copier après la connexion
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
            </p>
Copier après la connexion
Recommandations associées :

Utiliser Js pour implémenter plusieurs méthodes de suppression d'un ou plusieurs éléments dans un tableau

Suppression de tableau JavaScript spécifique Introduction aux méthodes d'éléments

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