getting-started-with-javascript
getting-started-with-javascript copied to clipboard
对象里的变量命名和赋值过来的变量的命名为什么可以一样?
1. var name = "xiaoming";
2. var config = {
3. name: name // 这样不会引起混淆吗?
4. }
上面的例子含有两个点需要特别注意。
- 第三行右边的name指的是第一行定义的变量name。
- 第三行昨天的name是对象config的一个属性。
第一行的变量name和第二行的config处理一个作用域区域。他们是平等并且不能重名的。
但第三行左边的name是config内部的一个属性,有了config的作用域保护就不会和第一行变量name混淆。
第三行右边的name只是作为值,并赋值给了config的属性name。他们之间毫无混淆的地方。 等号的昨天和右边是否重名不重要,只要能进行赋值即可。
明白了,一个是某个对象内部的其中一个属性名称,一个是之前被(声明)定义的变量名。谢谢老师!