前言:以前想要通过变量去访问属性,尝试过用obj.${name},结果用不了哈哈哈。终于让我看到《Javascript高级程序设计》的集合引用部分,完美解决问题。
对象的属性存取方式
1. 点语法:
- 用法:obj.name
- 这个方法比较常见,用的也比较多,但是就按前言说的,传不了变量名,因为name本来就是个字符串了。
let obj = { "waa":'11', "hhh": 222 } //获取 console.log(obj.waa) //'11' //修改 obj.waa = 33 console.log(obj.waa) // 33 //添加值 obj.pap = 'haha' console.log(obj); //{ // "waa": '11', // "hhh": 222, // "pap": 'haha' //}
2. 中括号法
- 用法:obj[“属性名”]
- 中括号里面的内容必须以字符串形式
- 这个方法其实也见过,但是确实少用,但是仔细看这个方法有他的独特优势:
- 支持传入属性名变量
//原本用法 console.log(obj['waa']);//'11' //传入变量用法 let value = 'waa'; console.log(obj[value]);//'11'
- 可以获取含有特殊字符的变量名,比如说:数字,空格等;
let value1 = "5"; let value2 = "first word" console.log(value1); console.log(value2);
总结: 细节见真章啊!还是得看看书,看看文档才可以更好的掌握知识