如果我有一个如下所示的javascript对象
var columns = {
left: true,
center : false,
right : false
}
我有一个既传递对象又传递属性的函数,像这样
//should return false
var side = read_prop(columns, 'right');
身体read_prop(object, property)
会是什么样?
您不需要它的功能-只需使用括号符号即可:
var side = columns['right'];
这等于点表示法,var side =columns.right;
除了right
在使用方括号表示法时也可能来自变量,函数返回值等的事实。
如果需要它的功能,则为:
function read_prop(obj, prop) {
return obj[prop];
}
为了回答下面与原始问题没有直接关系的一些注释,可以通过多个括号引用嵌套对象。如果您有这样的嵌套对象:
var foo = { a: 1, b: 2, c: {x: 999, y:998, z: 997}};
您可以访问财产x
的c
,如下所示:
var cx = foo['c']['x']
如果未定义属性,则将尝试引用该属性undefined
(不是null
或false
):
foo['c']['q'] === null
// returns false
foo['c']['q'] === false
// returns false
foo['c']['q'] === undefined
// returns true
问题内容: 我有一个包含变量名称的字符串。我想获取该变量的值。 是否有可能访问该值使用? 问题答案: 我建议您改用: 通过执行操作创建地图 然后改变 至 并使用访问值
问题内容: 有没有办法在Javascript中将变量名作为字符串获取?喜欢 我想这样做: 更新 我正在尝试使用JavaScript连接浏览器和另一个程序。我想将实例名称从浏览器发送到另一个程序以用作回调方法: 从另一个程序: 问题答案: 通常,在需要将名称映射到某个值并能够同时检索两者的情况下,可以使用哈希表。
问题内容: 为什么JavaScript不允许模板字符串作为对象属性键?例如,当我输入: 到NodeJS REPL中,它会引发带有长堆栈跟踪的“意外模板字符串”。属性值很好,但是,这并不出乎意料。浏览器中也会发生类似的错误,例如Firebug抛出一个带有“无效属性ID”的错误。 “计算的属性名称”中允许使用模板字符串。例如,这在所有支持以下语法的浏览器中都可以完美编译: 并创建对象。 为什么不允许模
问题内容: 我想使用变量的值来访问对象。 假设我有一个名为myobject的对象。 我想用此名称填充变量,然后使用该变量访问对象。 例: 问题答案: 全球: 全球:v2 本地:v1 本地:v2
问题内容: 我正在使用jQuery从DOM中提取项目,并希望使用DOM元素的对象设置属性。 例 如果包含一个元素为“ myId” 的元素,我想拥有一个名为“ myId”的属性。以上给了我。 如何使用JavaScript使用变量来命名对象的属性? 问题答案: 您可以使用以下等效语法:
问题内容: 根据官方的JavaScript文档,您可以使用整数定义对象文字属性名称: 此外,您可以使用数字或字符串文字作为属性的名称。 像这样: 我的问题是,如何引用以整数作为名称的属性?我尝试了平常的尝试,但是遇到了错误。我能想到的唯一解决方法是使用循环。有什么建议? 问题答案: 您可以像引用数组一样引用对象的属性,并使用或