js对象中的数据定义想必都清楚,有些细节介绍一下:
键值对中的键,可以是字符类型,也可以不是,但实际上最后都会被转化成字符类型:

  1. const p = {
  2. name: "zhangsan", //写法1
  3. "name": "zhangsan", //写法2
  4. //上面两中写法是等价的,写法1最终会被转化为写法2
  5. }

所以在访问对象中的数据时也有两种方法:

  1. //访问对象中的数据:
  2. const p = {
  3. name: "zhangsan", //写法1
  4. }
  5. console.log(p.name) //点引用方法,注意p."name"的写法是错误的
  6. console.log(p["name"]) //方括号查询方法,注意p[name]的写法是错误的

注意,在通过方括号[ ]访问对象的属性时,必须传入字符类型,也就是要加引号!

更多的细节:

在函数中通过形参访问对象属性

当我们在函数中访问对象的属性是,如果想要用形参(变量)来访问对象,则只能使用方括号查询的方式访问,因为形参是一个变量,无法通过 对象名.变量的方式来访问。为什么?形参只能是基本数据类型,大多是字符串类型,如果通过.调用,就相当于p.”name”,这种写法是错误的!

  1. //在函数中访问对象中的属性:
  2. const p = {
  3. name: "zhangsan", //写法1
  4. }
  5. function show(propName){
  6. console.log(p[propName]) // 注意p.propName是错误的,因为这相当于是 p."propName"
  7. }

本章比较重要,也比较细节,注意记忆。