美文网首页
js对象基本用法

js对象基本用法

作者: fanison | 来源:发表于2019-12-09 22:08 被阅读0次

1.声明对象

  • 定义:无序的数据集合、键值对的集合
  • 写法
var obj = new Object({key:value})
let obj = {key1:value1,key2:value2}
  • 属性名:每个key都是对象的属性名(property)
  • 属性值:每个value都是对象的属性值

特殊的属性名

  • 所有属性名会自动把变成字符串
  • Object.keys(obj) 查看obj的所有key

变量作属性名

不加 []的属性名会自动变成字符串
加了[]则会当作变量求值

let p1 = 'name'
let obj = {p1:'fanison'}
let obj = {[p1]:'fanison'}

对象的隐藏属性

js中每个对象都有隐藏属性
隐藏属性存储着原型的地址

2.删除属性

delete obj.xxx
delete obj['xxx']

通过使用'xxx' in obj 查看obj是否含有xxx属性,发现obj.xxx = undefined 不能删除属性,只是将属性值xxx设置为undefined

注意:obj.xxx === undefined不能断定‘xxx’为obj的属性;
通过'xxx' in obj 查看obj是否含有xxx属性

3.查看属性

  • 查看自身所有属性 Object.keys(obj)
  • 查看自身+共有属性 console.dir(obj)
  • 查看属性 obj['key'] or obj.key

console.log('name')的返回值是 undefined,
obj[console.log('name')]相当于obj["undefined"]

obj.name等价于 obj['name']
obj.name不等于obj[name]

obj.name   //此处name是字符串
obj[name]  //此处name是变量

4.修改属性

  • 直接赋值
    obj['key'] = value or obj.key = valuevalue
  • 批量赋值
    Object.assign(obj,{key:value,key:value})
  • 修改或增加共有属性

无法通过自身修改或增加共有属性
修改或增加原型上属性会引发问题

  • 修改隐藏属性

使用 __proto__ 不推荐
使用Object.create 推荐

不推荐
推荐

'name' in objobj.hasOwnProperty('name')的区别:

  • hasOwnProperty会忽略掉那些从原型链上继承到的属性
  • in不会忽略掉那些从原型链上继承到的属性

相关文章

  • js对象及其方法

    1.对象MDN文档2.JS基础--JS对象及其基本用法3.JavaScript 对象所有API解析

  • JS 对象基本用法

    1.声明对象的两种语法 ES6新增了两种声明对象的方法,分别是let和const。 2.如何删除对象的属性 del...

  • JS 对象基本用法

    一、声明对象的两种语法 let obj = { 'name' : 'frank' , 'age' : 18} le...

  • js对象基本用法

    1.声明对象 定义:无序的数据集合、键值对的集合 写法 属性名:每个key都是对象的属性名(property) 属...

  • JS 对象基本用法

    1 声明对象的两种语法 2 如何删除对象的属性 3 如何查看对象的属性 Object.keys(obj) 查...

  • JS 对象基本用法

    对象的定义 对象是无序的数值集合或者键值对的集合 声明对象的语法 let object = { 'name' : ...

  • JS对象基本用法

    一、声明对象的两种方法(对象:无序的数据集合&键值对的集合) ·简易声明:let obj = { 'name' :...

  • JS对象基本用法

    与JS相关的七种数据类型以及五个falsy值 七种数据类型 : number、string、bool、symbol...

  • JS对象基本用法

    声明对象的两种语法 如何删除对象属性 如何查看对象的属性 查看自身所有属性 查看自身+共有属性 判断一个属性是自身...

  • JS 对象基本用法

    6种基本数据类型 null undefined string number boolean symobl 5种fa...

网友评论

      本文标题:js对象基本用法

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