Javascript中value.x和value[x](从数组获取属性)之间的差异?
我在读书,被房子卡住了Javascript中value.x和value[x](从数组获取属性)之间的差异?,javascript,arrays,properties,Javascript,Arrays,Properties,我在读书,被房子卡住了 据说 value.x和value[x]都可以访问值上的属性,但不一定是同一个属性 鉴于value.x获取名为“x”的值的属性,value[x]尝试计算表达式x并将结果用作属性名称 (value是一个数组,x是与本例中的.length类似的属性。) value.x和value[x]之间有什么区别?我不知道如何计算表达式 我不知道value[x]如何计算表达式 对表达式求值意味着用相应的值替换所有符号,并对它们应用所有(如果有的话)操作(JS为您做了所有事情,因此您不应该费
据说
value.x
和value[x]
都可以访问值上的属性,但不一定是同一个属性
鉴于value.x
获取名为“x”的值的属性,value[x]
尝试计算表达式x并将结果用作属性名称
(value
是一个数组,x
是与本例中的.length
类似的属性。)
value.x
和value[x]
之间有什么区别?我不知道如何计算表达式
我不知道value[x]如何计算表达式
对表达式求值意味着用相应的值替换所有符号,并对它们应用所有(如果有的话)操作(JS为您做了所有事情,因此您不应该费劲地去想它)
对于像x
一样微不足道的表达式,其计算值等于变量x
引用的值
例如:
在本例中,value
对象的vvv
属性将为alert
ed
我不知道value[x]如何计算表达式
对表达式求值意味着用相应的值替换所有符号,并对它们应用所有(如果有的话)操作(JS为您做了所有事情,因此您不应该费劲地去想它)
对于像x
一样微不足道的表达式,其计算值等于变量x
引用的值
例如:
在本例中,value
对象的vvv
属性将为alert
ed
我不知道value[x]如何计算表达式
对表达式求值意味着用相应的值替换所有符号,并对它们应用所有(如果有的话)操作(JS为您做了所有事情,因此您不应该费劲地去想它)
对于像x
一样微不足道的表达式,其计算值等于变量x
引用的值
例如:
在本例中,value
对象的vvv
属性将为alert
ed
我不知道value[x]如何计算表达式
对表达式求值意味着用相应的值替换所有符号,并对它们应用所有(如果有的话)操作(JS为您做了所有事情,因此您不应该费劲地去想它)
对于像x
一样微不足道的表达式,其计算值等于变量x
引用的值
例如:
在本例中,
value
对象的vvv
属性将是alert
ed.value.x
表示值中的x
。在第二个x
是一个变量。所以如果x等于a,那么值[x]等于value.aSo,就像myArray.length==myArray[length]?通常使用哪一种可能更好?(就像计算效率更高或更人性化一样)myArray[length]是无效的,除非您有一个变量名“length”,其值为“length”,点表示法总是更好的做法value.x
与value['x']
相同只要看看这个简单的示例,您就会理解var a={'id':1,'name':'xyz}; console.log(“a.id==”,a.id,“a.name==”,a.name)console.log(“a['id']==”,a['id'],“a['name']==”,a['name'])如果你简单地把a[id]
放进去,它会尝试计算id,结果是错误的id没有定义谢谢大家!还有一个问题。。。对于另一个问题中已经存在的答案,这意味着什么:“方括号表示法的第二个优点是在处理变量属性名称时。”?我们可以将自定义变量myControlNumber
用于myForm[“myControlNumber”+i]
?value。x
表示值中的x
。在第二个x
是一个变量。所以如果x等于a,那么值[x]等于value.aSo,就像myArray.length==myArray[length]?通常使用哪一种可能更好?(就像计算效率更高或更人性化一样)myArray[length]是无效的,除非您有一个变量名“length”,其值为“length”,点表示法总是更好的做法value.x
与value['x']
相同只要看看这个简单的示例,您就会理解var a={'id':1,'name':'xyz}; console.log(“a.id==”,a.id,“a.name==”,a.name)console.log(“a['id']==”,a['id'],“a['name']==”,a['name'])如果你简单地把a[id]
放进去,它会尝试计算id,结果是错误的id没有定义谢谢大家!还有一个问题。。。对于另一个问题中已经存在的答案,这意味着什么:“方括号表示法的第二个优点是在处理变量属性名称时。”?我们可以将自定义变量myControlNumber
用于myForm[“myControlNumber”+i]
?value。x
表示值中的x
。在第二个x
是一个变量。所以如果x等于a,那么值[x]等于value.aSo,就像myArray.length==myArray[length]?通常使用哪一种可能更好?(就像计算效率更高或更人性化一样)myArray[length]是无效的,除非您有一个变量名“length”,其值为“length”,点表示法总是更好的做法value.x
与value['x']
相同只要看看这个简单的示例,您就会理解var a={'id':1,'name':'xyz}; console.log(“a.id==”,a.id,“a.name==”,a.name)console.log(“a['id']==”,a['id'],“a['name']==”,a['name'])如果你简单地把a[id]
放进去,它会尝试计算id,结果是错误id不存在
var x = 'vvv';
alert(value[x]);