首页 > 编程语言 > 详细

Javascript 对象

时间:2020-11-15 16:22:32      阅读:22      评论:0      收藏:0      [点我收藏+]

1.对象的遍历

(1)for in:遍历对象的key

<script>
    var obj = {a:1, b:2}
    for(key in obj){
        console.log(key) 
        // a
        // b
    }
</script>

如果对象非空,则一定会执行for in里面的代码,可以以此验证此对象是否是空对象

<script>
    function ObjIsEmpty(obj){
        var isEmpty = true
        //如果存在任何一个属性,则将isEmpty赋值为false
        for(key in obj){
            isEmpty = false
        }
        return isEmpty
    }

    var obj = {}
    var obj2 = {a:1, b:2}
    console.log(ObjIsEmpty(obj)) //true
    console.log(ObjIsEmpty(obj2)) //false
</script>

(2)Object.keys():返回一个数组,数组元素就是对象的所有key,之后可以用数组方法遍历该对象的所有key(包含所有可枚举属性)

<script>
    var obj = {}
    var obj2 = {a:1, b:2}

    var keys = Object.keys(obj)
    var keys2 = Object.keys(obj2)
    console.log(keys) //[]
    console.log(keys2) //[‘a‘,‘b‘]

    //判断其长度,不为0则表示该对象非空
    console.log(keys.length) // 0
    console.log(keys2.length) //2
</script>

(3)Object.getOwnPropertyNames():返回一个数组,包含对象自身的所有属性(包括不可枚举属性)

<script>
    var obj = {}
    var obj2 = {a:1, b:2}

    var keys = Object.getOwnPropertyNames(obj)
    var keys2 = Object.getOwnPropertyNames(obj2)
    console.log(keys) //[]
    console.log(keys2) //[‘a‘,‘b‘]

    //判断其长度,不为0则表示该对象非空
    console.log(keys.length) // 0
    console.log(keys2.length) //2
</script>

2.转换成字符串

(1)通过JSON.stringify()可将对象转换成JSON字符串

<script>
    var obj = {}
    var obj2 = {a:1, b:2}
    console.log(JSON.stringify(obj)) //{}
    console.log(JSON.stringify(obj2)) //{a:1, b:2}
</script>

可以以此判断对象是否为空

<script>
    var obj = {}
    var obj2 = {a:1, b:2}

    function ObjIsEmpty(obj){
        if(JSON.stringify(obj) === ‘{}‘){
            return true
        }else{
            return false
        }
    }

    console.log(ObjIsEmpty(obj)) //true
    console.log(ObjIsEmpty(obj2)) //false
</script>

(2)通过JSON.parse()可将JSON字符串转换成对象

<script>
    var objStr = ‘{"a":1, "b":2}‘
    var obj = JSON.parse(objStr)
    console.log(obj.a,obj.b) //1 2
</script>

Javascript 对象

原文:https://www.cnblogs.com/OrochiZ-/p/13976830.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!