对象查询提供点查询和方括号查询两种方式。通过(.),右边必须是一个以属性名命名的简单标识符。在ES3中,点运算符后面的标识符不能是保留字。如果对象的属性名是保留字,则必须以方括号的形式访问。在ES5中,保留字可以直接跟在点之后,不能查询以数字为属性名的属性,使用方括号([])运算符获取属性的值。运算符的左边应该是一个表达式,返回一个对象。方括号必须是一个表达式,其结果是一个字符串。该字符串是属性名称。再来看下面一道题(记不清在哪里看到的了,只能大概记得)vara={}varb={x:1}varc={x:2}a[b]=ba[c]=ca[b]==a[c]-->true其实这道题很简单,只要考察(.)和([])的区别,a[b]b没有双引号,所以是一个变量,指的是{x:1},对象b转成字符串=>"[objectObject]",所以:a[b]=b=>a{[object对象]:{x:1}}a[c]=c=>a{[对象对象]:{x:2}}a[b]=[对象对象]a[c]=[对象对象]a[b]和a[c]查询同一个对象=>a{[objectObject]:{x:2}}方括号查询方法,方括号中的表达式公式必须返回一个字符串或者返回一个可以转换的值到一个字符串
