js中.和[]的区别
在js中,对象属于是键值对的集合
//例如
const obj = {
name: '残梦',
say:function(){
console.log('你好')
}
}
在上面这个代码中,name就属于是key,而‘残梦‘就是value
如何获取对象属性
第一种方式: .语法
- student.name 获取到student的name属性
- student.say 获取一个函数
第二种语法: []语法
- student["name"] 等价于student.name
- student["say"] 等价于student.say
他们两者究竟有何差异呢?
语法很方便,但是有很多的坑,比如:
- .后面不能使用js的关键字,例如:(class,this,function)
- .后面不能有数字
var obj={};
obj.this=5; //语法错误
obj.0=10; //语法错误
- []使用更加广泛
- o1[name]
- [‘class‘],[‘this‘]也可以随意的去使用obj[‘this‘]=10
- [1],[2]也可以使用obj[3]=10
- 也可以这样用 ["{abc}"] 给对象添加了{abc}属性
资源搜索网站大全 https://www.renrenfan.com.cn 广州VI设计公司https://www.houdianzi.com
设置属性时的差异?
- student[‘name‘] <=> student.name
- 第一种设置的时候,如果student没有name属性,就会添加一个name属性
- 但是第二种不会,所以一般更加推荐使用[]这种方式