zoukankan      html  css  js  c++  java
  • JS 对象基本用法

    声明对象的两种语法

     let obj = { 'name': 'frank', 'age': 18 }
    
    let obj = new Object({'name': 'frank'})
    

    如何删除对象的属性

    delete obj.xxx或delete obj['xxx']

    • 即可删除obj的xxx属性

    • 注意区分

      • 含有属性名,但值为undefined

        • 'xxx' in obj ===undefined

        • obj.xxx ===undefined

          • 不能断定'xxx'是否为obj的属性
      • 不含属性名

        • ‘xxx’ in obj = = = false

    如何查看对象的属性(读属性)

    查看自身所有属性

    • Object.keys(obj)

      • 查看key
    • Object.entries(obj)

      • 查看所有

    查看自身+共有属性

    - console.dir(obj)

    • 或者自己依次用Object.keys打印出obj.__proto__(不推荐用)

    判断一个属性是自身的还是共有的

    • obj.hasOwnProperty('toString')

    看单个属性

    • obj['name'] (推荐用)

      • 这里的name是字符串
    • obj.name

      • 这里的name是字符串
    • obj[name]

      • 这里的name是变量

    注:读对象的属性时,

    如果使用 [ ] 语法,那么 JS 会先求 [ ] 中表达式的值,注意区分表达式是变量还是常量。
    如果使用点语法,那么点后面一定是 string 常量。

    如何修改或增加对象的属性(写)

    自身属性

    • obj['name'] = 'jack'

      • 更改自身属性
    • Object.assign(obj, {age: 18, gender: 'man'})

      • 批量赋值

    共有属性

    • Object.prototype['toString'] = 'xxx'

      • 改共有属性

    隐藏属性

    • let obj = Object.creat(common)

      • 改原型

    'name' in obj和obj.hasOwnProperty('name') 的区别

    'name' in obj可以判断obj对象不含xxx属性

    • 自身属性和共有属性都返回true

    obj.hasOwnProperty('name')用来判断一个属性是obj自身的还是共有的

    • 仅仅是自身属性才返回true

    延伸

    Object.defineProperty()

    • 用于在一个对象上定义新的属性或修改现有属性, 并返回该对象.
    作者:过程是风景
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    抽奖系统 random()
    JavaScript 稀奇的js语法
    Node初识笔记 1第一周
    vue 自定义指令
    vue 组件 单选切换控制模板 v-bind-is
    学习网址
    vue 组件 子向父亲通信用自定义方法用事件监听
    vue 组件 模板中根数据绑定需要指明路径并通信父
    vue 组件 模板input双向数据数据
    测试样式
  • 原文地址:https://www.cnblogs.com/justcho/p/13475216.html
Copyright © 2011-2022 走看看