Javascript 为什么可以使用数组表示法访问对象?当属性名在变量中时,为什么需要数组表示法?
以以下为例:Javascript 为什么可以使用数组表示法访问对象?当属性名在变量中时,为什么需要数组表示法?,javascript,Javascript,以以下为例: var obj = {}; obj.test1 = 'string'; // string obj['test2'] = 'string'; // string obj['test3'] = ['string']; // array var key = 'test4'; //obj.key = 'string' // not working var key = 'test5'; obj[key] = 'string'; // working console.log(obj)
var obj = {};
obj.test1 = 'string'; // string
obj['test2'] = 'string'; // string
obj['test3'] = ['string']; // array
var key = 'test4';
//obj.key = 'string' // not working
var key = 'test5';
obj[key] = 'string'; // working
console.log(obj);
为什么可以使用数组表示法(方括号)访问对象属性:obj['test2']='string'代码>
为什么test4
中使用点表示法的示例失败,而在test5
中使用数组表示法工作
为什么可以使用数组表示法(方括号)访问对象属性:obj['test2']='string'
因为JavaScript就是这样定义的。这不是“数组表示法”;这是“方括号符号”
为什么test4中使用点表示法的示例失败,而在test5中使用数组表示法工作
obj.key
访问obj
上名为“key”的属性。您的对象没有名为“key”的属性,因此这将生成未定义的
obj[key]
将访问名为存储在变量key
中的值的属性obj['test4']
将访问名为“test4”的属性,正如obj['te'+'st4']
一样,依此类推
方括号表示法允许基于字符串值访问属性。点表示法允许按代码中实际写入的名称访问属性
为什么可以使用数组表示法(方括号)访问对象属性:obj['test2']='string'
因为JavaScript就是这样定义的。这不是“数组表示法”;这是“方括号符号”
为什么test4中使用点表示法的示例失败,而在test5中使用数组表示法工作
obj.key
访问obj
上名为“key”的属性。您的对象没有名为“key”的属性,因此这将生成未定义的
obj[key]
将访问名为存储在变量key
中的值的属性obj['test4']
将访问名为“test4”的属性,正如obj['te'+'st4']
一样,依此类推
方括号表示法允许基于字符串值访问属性。点表示法允许按代码中实际写入的名称访问属性
为什么可以使用数组表示法(方括号)访问对象属性:obj['test2']='string'
因为JavaScript就是这样定义的。这不是“数组表示法”;这是“方括号符号”
为什么test4中使用点表示法的示例失败,而在test5中使用数组表示法工作
obj.key
访问obj
上名为“key”的属性。您的对象没有名为“key”的属性,因此这将生成未定义的
obj[key]
将访问名为存储在变量key
中的值的属性obj['test4']
将访问名为“test4”的属性,正如obj['te'+'st4']
一样,依此类推
方括号表示法允许基于字符串值访问属性。点表示法允许按代码中实际写入的名称访问属性
为什么可以使用数组表示法(方括号)访问对象属性:obj['test2']='string'
因为JavaScript就是这样定义的。这不是“数组表示法”;这是“方括号符号”
为什么test4中使用点表示法的示例失败,而在test5中使用数组表示法工作
obj.key
访问obj
上名为“key”的属性。您的对象没有名为“key”的属性,因此这将生成未定义的
obj[key]
将访问名为存储在变量key
中的值的属性obj['test4']
将访问名为“test4”的属性,正如obj['te'+'st4']
一样,依此类推
方括号表示法允许基于字符串值访问属性。点表示法允许按代码中实际写入的名称访问属性。因为通过括号表示法访问属性不称为“数组表示法”。因为通过括号表示法访问属性不称为“数组表示法”。因为通过括号表示法访问属性不称为“数组表示法”。因为通过括号表示法访问属性不称为“数组表示法”。