我在理解下面的代码时遇到了困难,我在不理解概念的地方加了一个注释,到底发生了什么
var ob = {};
var ob2 = ['name'];
for(var op of ob2)
{
ob[op]='at'; // here i dont understand what is happening, why here is an array type brackets
}
console.log(ob);
OUTPUT IS
name:'at'
答案 0 :(得分:1)
那只是在javascript中动态访问或分配对象属性的语法。
您可以将其视为您正在做的事情:ob.name = 'at'
。
答案 1 :(得分:0)
基本上,它正在访问对象ob
的属性。在这种情况下,就是访问和创建新属性。
循环将获取每个索引值,并使用该索引值为每个分配/创建一个新属性。
该方法是在对象中动态创建属性名称的方法。
ob['name'] = 'at';
ob.name = 'at'; // Just to illustrate
处阅读一些文档
答案 2 :(得分:0)
有两种方法可以访问JavaScript中的对象属性
[:,:]
在您的情况下,遍历名为var person = {
name: 'Jane'
}
person.name
// or
person['name']
// both return jane
的数组成员
该数组的第一个也是唯一的元素是字符串ob2
,并将其作为道具提供给该对象,就像下面的
name
何时在点(。)上使用方括号([]) 如果您在运行时不知道prop名称,则需要使用方括号,如果知道,则可以选择点符号或方括号