使用带有数字的点表示法传递给函数

时间:2016-12-10 18:07:00

标签: javascript

如果我有一个对象和功能

obj(1234, "example")

然后调用函数

public class Overview_Screen extends AppCompatActivity {

为什么我要编写obj [num]而不是obj.num?难道点符号不应该被接受,因为传递的值总是一个整数而且没有引号,即obj.1234可以工作但不是obj。“string”?

1 个答案:

答案 0 :(得分:3)

  

为什么我必须写obj [num]而不是obj.num?

由于obj[num]采用num(例如,1234)并使用该值作为属性名称,但obj.num使用"num"(字面意思)作为属性名称。 Brackets vs. dot是JavaScript解析器在您按字面意思提供属性名称(点表示法)或使用您想要使用(括号表示法)结果的表达式时所知道的。

(旁注:当然,当我们foo[1]时,我们的意思是1中的属性foo。但从解析器的角度来看,我们在那里有效地使用了一个表达式。 )