Javascript 对象属性CURD操作

1.应用场景

了解js对象的属性相关操作, 应用于开发中.

2.学习/操作

1.介绍

js中有句名言: 一切皆对象

在编程语言里, 相同点, 对象是存储数据的容器, 而且都常是使用{}来表示,

但是声明对象的方式有很多种, 不同的语言也不尽相同.

 

js中声明对象方式也有集中, 这里主要使用字面量声明 即{}

var obj = {};

var test = {};

 

更多介绍:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object   //MDN - Object

 

2.添加属性

对象{}支持使用 .或者 [] 来添加属性,

但是前者不支持属性名为变量[即 如果属性名为变量, 是不识别的, 直接当做字符串使用]

code:

var test = {};
var nameVar = 'name';
test.nameVar = 'william';
"william"
test
{nameVar: "william"}
var test = {};
var nameVar = 'name';
test[nameVar] = 'william';
"william"
test
{name: "william"}

截图:

Javascript 对象属性CURD操作

注意:

使用[]时, 要引号, 如果不加, 则认为是变量, 常量. 最后找不到, 才会判断为字符串

 

3.删除属性[即删除属性值]

delete 对象.属性名  即可

Javascript 对象属性CURD操作

如果删除不存在的属性,也会返回true

Javascript 对象属性CURD操作

 

4.查询属性 / 通过属性获取属性值

判断属性是否存在, 直接使用.或者[] 即可,

存在, 返回属性值,

不存在, 返回undefined

Javascript 对象属性CURD操作

 

5.更新属性名 / 更新属性值

更新属性值:

对象.属性名 = 新值 // 对象['属性名'] = 新值  // 对象[属性名] = 新值  ==> 最后一项, 有时候也能正确执行, 但是有时会是错误的, 不推荐.

Javascript 对象属性CURD操作

更新属性名:

直接更新: js不支持修改属性名

间接修改: 添加新的属性, 赋值[原属性的属性值], 删除旧的属性.

Javascript 对象属性CURD操作

 

后续补充

...

3.问题/补充

TBD

4.参考

https://www.cnblogs.com/lakeslove/p/6377893.html  //使用变量作为js对象的属性名

后续补充

...