• ☀【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》

  • 相关阅读:
    员工思维 主管思维
    屏幕截图检测视频有效性
    ffmpeg resize and scale
    tmp
    Generative Adversarial Networks
    oss
    代码与性格
    Message: unknown error: Element is not clickable at point
    解决ES集群状态异常教程(存在UNASSIGNED)
    whl 安装
  • 原文地址:https://www.cnblogs.com/jzm17173/p/3381653.html
Copyright © 2020-2023  润新知