• ☀【JS】检测属性


    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <script>
            var object = {
                name: null,
                sex: undefined,
                age: 0
            }
            // 不好的写法:和 null 比较
            if (object['name'] !== null) {
            } else {
                console.log('name')
            }
            // 不好的写法:和 undefined 比较
            if (object['sex'] !== undefined) {
            } else {
                console.log('sex')
            }
            // 不好的写法:检测假值
            if (object['age']) {
            } else {
                console.log('age')
            }
    
            // 好的写法
            if ('sex' in object) {
                console.log('sex')
            }
            // 对于所有非 DOM 对象
            // 在 IE 8 以及更早版本的 IE 中,DOM 对象并非继承自 Object,因此也不包含这个 hasOwnProperty 方法
            if (object.hasOwnProperty('sex')) {
                console.log('sex')
            }
            // 如果你不确定是否为 DOM 对象
            if ('hasOwnProperty' in object && object.hasOwnProperty('sex')) {
                console.log('sex')
            }
    
            var s = new String()
            console.log('split' in s)
            console.log(s.hasOwnProperty('split'))
            console.log(String.prototype.hasOwnProperty('split'))
        </script>
    </body>
    </html>

    《编写可维护的 JavaScript》

  • 相关阅读:
    帮助智力障碍的可怜儿童
    PE556
    ZJOIDay2T1 BB题解
    CTSC2016游记
    再次被老爸钦点退役
    欧拉筛
    考据
    51nod 1020 逆序排列(动态规划)
    51nod 1186 质数检测(Miller-Rabin算法)
    大整数类模板
  • 原文地址:https://www.cnblogs.com/jzm17173/p/3381653.html
Copyright © 2020-2023  润新知