使用点符号和括号显示..内部的属性..循环中
use of dot notation and bracket to display properties inside for...in loop
我看到了一些以前问过的问题。但我仍然不太清楚什么时候可以使用点/括号表示法来显示对象的属性,这就是我来这里问这个问题的原因。这里我有两个例子。在我的第一个例子中,console.log用点表示法显示对象属性,但用括号显示未定义的属性
<html>
<body>
<script>
var obj={
name:'lol',
age:10
}
console.log(obj[name]);
console.log(obj.name);
</script>
</body>
</html>
在我的第二个例子中,我使用了for。。。in方法来迭代对象属性。在这种情况下,点表示法不起作用,但括号表示法起作用。但是如果console.log()键,它将显示属性名称。如果是,那么为什么它在显示属性值时出现问题我的意思是,如果key==name是一个属性,那么obj.key应该等价于obj.name,在我看来,它应该不会有任何问题来显示它的值。这是第二个:
<html>
<body>
<script>
var obj={
name:'lol',
age:10
}
for(key in obj){
console.log(key);
console.log(obj.key);
}
</script>
</body>
</html>
时必须使用方括号表示法
- 属性名称存储在变量或
- 属性名称包含标识符中不允许使用的字符
当上述规则不要求您使用方括号表示法时,通常认为使用点表示法是一种很好的风格。
var name = "foo";
obj.foo === obj["foo"] === obj[name]; // All equivalent (but the middle one is generally considered to be poor style)
var other = "one-two";
obj[other] === obj["one-two"]; // Equivalent
// obj.one-two; would be "Subtract two from obj.one".
var obj = { one: 1 };
var two = 2;
(obj.one-two) === (obj.one - two) === -1;
相关文章:
- Javascript:循环属性内部的条件递增或递减
- javascript正则表达式,用于编辑元素内部的css样式属性
- 通过 Jquery 调用 tr 属性并找到我的内部复选框
- 在 Forerunner 数据库集合中创建主键时,key 属性是否可以位于集合对象的对象内部
- 为什么我不能在变量上使用内部HTML属性
- 如何从类函数内部访问对象属性
- 如何在firebase中通过内部属性进行过滤
- 为什么可以在内部函数成员中访问对象引用,而不能在内部属性成员中访问
- 如果我们使用:运算符在函数内部定义一个属性,会发生什么
- Javascript:如何通过其参数选择函数内部属性
- ECMAScript 中的内部属性定义是为了什么
- AngularJS 2 - 内部属性数据绑定 - 异常:类型错误:无法读取未定义的属性
- 访问内部属性名称以计算 ES6 中的新属性
- 如何剥离除<a></a><img>(内部属性)和<br>使用javascrip
- 如何在jqueryui小部件中存储内部属性
- 无法读取未定义的HTML内部属性
- 我应该在原型中添加内部属性吗?
- 从主窗口访问iframe内部属性
- 如何在JavaScript中找到具有另一个对象内部属性的对象
- 在 Javascript 中使用其范围之外的函数更新函数的内部属性