js中点语法和[]的区别

376 阅读1分钟
  • 中括号语法:
    任何时候场合 都可以使用
  • 点语法:有局限性
    eg1.正常
var obj1={a:123}
console.log(obj1.a)//123
console.log(obj1['a'])//123

eg2.key为空字符串时,点语法报错

var obj2={"":123}
console.log(obj2."")//Uncaught SyntaxError: Unexpected string
console.log(obj2[""])//123

eg3.key为数字字符串时,点语法报错

var obj3={"1":123}
console.log(obj3."1")//Uncaught SyntaxError: Unexpected string
console.log(obj3["1"])//123

eg4.key为number类型时,点语法报错

var obj4={1:123}
console.log(obj4.1)//Uncaught SyntaxError: Unexpected string
console.log(obj4[1])//123

eg5.key为变量时,点语法无法取值.

var obj5={'a':123};
var value='a';
console.log(obj5.value)//undefined
console.log(obj5[value])//123