第一种通过.获取
var str = {name:'lisa',num:'12'}
console.log(str.name)
lisa
第二种通过[]获取
var str = {name:'lisas',num:'12'}
console.log(str['name'])
lisa
那什么时候用点获取什么时候[]呢,可以在不同场景使用
两个的相同点:都是获取对象属性值
不同点:
1 [ ]运算符可以使用字符串变量的内容作为属性名,点运算符不能
var str3 = {name:'tuttu',number:'23'}
var key = 'name'
console.log(str3[key]) tuttu
console.log(str3.key) undefined
2 [ ]运算符可以用纯数字作为属性名,点运算符不能
var str3 = {name:'tuttu',3:'23'}
var key = 'name'
console.log(str3[3]) 23
console.log(str3.3) Uncaught SyntaxError: missing ) after argument list
3 [ ]运算符可以用js关键字和保留字作为属性名,点运算符不能
普通常量赋值的时候可以用点运算符,其他可以用[]运算符,