未捕获的TypeError:在尝试访问对象时调用非对象的Object.keys
我试图使用Object.keys(obj.arr));
访问对象内的数组Object.keys(obj.arr));
方法。 如果我像下面一样直接访问数组,那么它会给出正确的输出:
alert(Object.keys(obj.arr));
但如果我使用参数传递数组名称,那么它会给出错误:
var selected = "arr"; alert(Object.keys(obj.arr)); error : Uncaught TypeError: Object.keys called on non-object
有例子: DEMO
如果需要动态属性访问,则不能使用.value
。 这总是字面上访问"value"
命名键。 如果要使用变量value
包含的键名访问属性,则需要使用括号: obj[value]
修正演示: http : //jsfiddle.net/Lv6TY/7/
console.log("Variable Pass "+Object.keys(groups[selected]));