如果我有一个对象和功能
obj(1234, "example")
然后调用函数
public class Overview_Screen extends AppCompatActivity {
为什么我要编写obj [num]而不是obj.num?难道点符号不应该被接受,因为传递的值总是一个整数而且没有引号,即obj.1234可以工作但不是obj。“string”?
答案 0 :(得分:3)
为什么我必须写obj [num]而不是obj.num?
由于obj[num]
采用num
的值(例如,1234
)并使用该值作为属性名称,但obj.num
使用"num"
(字面意思)作为属性名称。 Brackets vs. dot是JavaScript解析器在您按字面意思提供属性名称(点表示法)或使用您想要使用(括号表示法)结果的表达式时所知道的。
(旁注:当然,当我们foo[1]
时,我们的意思是1
中的属性foo
。但从解析器的角度来看,我们在那里有效地使用了一个表达式。 )