美文网首页
关键字in和delete的使用

关键字in和delete的使用

作者: 码农的世界你不懂 | 来源:发表于2017-02-25 09:15 被阅读0次

    01 in关键字的使用:

    • 01 for in 循环中 遍历对象的键
    • 02 判断某个对象中是否存在指定的属性,注意所有的key值都是字符串。

    代码示例:

    <script>
        var obj = {
            name:"苹果",
            color:"黑苹果"
        };
    
        for(var key in obj) {
            console.log(key, obj[key]);
        }
    
        //02 检查是否存在指定的属性
        //语法  键 in 对象
        //注意点:在使用in关键字的时候,key是字符串,需要加上双引号
        var isInculde = "name" in obj;
        console.log(isInculde) ;    //true or false
    
        //03 in在操作数组的时候的注意点
        var arr = [1,3,4,5,8];
    
        //数组:索引 _ 数组元素(具体)
        //注意:在使用in操作数组的时候,操作的是所有
        console.log(5 in arr) ; //false
    
        //04 检查数组中是否有指定的元素
        //001 for循环,遍历数组中所有的元素,每遍历一次就判断一次,如果相等就返回改元素的索引
        for (var i = 0; i < arr.length; i++) {
            if(arr[i] == 4)
            {
                console.log(i);
                break;
            }
        }
    
        //02 indexOf 如果有那么就返回索引,如果没有那么就返回-1
        console.log(arr.indexOf(9));
    </script>
    

    注意in关键字操作数组的时候检测的是索引值并非数组元素

    • 02 delete关键字的用法:

    • 01 删除对象中的实例属性。

    • 02 删除未使用var声明的变量。

    • 03 返回值为boolean类型,true则 表示是否删除成功

      delete 使用的注意点

      • 01 它是有返回值的,它的值是布尔类型
      • 02 不能删除var 声明的变量
      • 03 可以删除直接定义在window上面的属性,但是无法删除全局变量(var)
    <script>
        //01 删除对象中的实例属
        var obj = {
            name:"小黄",
            color:"黄色"
        };
        console.log(delete obj.age);  //返回值 true
        console.log(obj.color);
        console.log(delete obj.color);;
        console.log(obj.color); //null or (undefined)
        // 02 删除未使用var声明的变量
        //没有使用var关键字声明的变量是全局变量,自动成为window的属性
        test = "这是一个没有使用var关键字声明的变量";
        console.log(test);
        delete test;
        //console.log(test);  //报错
        console.log(window.test); //undefined
        //03 能够删除使用var关键字声明的变量吗? 不能
        var testVar = "使用var声明的变量";
        console.log(delete testVar); //false
        console.log(testVar);   //使用var声明的变量
        //能够删除成功
        window.nameDemo = "demo";
        console.log(window.nameDemo);   //demo
        delete window.nameDemo;
        console.log(window.nameDemo);
        //无法删除成功
        var demo = "demo------";
    </script>
    

    相关文章

      网友评论

          本文标题:关键字in和delete的使用

          本文链接:https://www.haomeiwen.com/subject/vjpgwttx.html