js获取object类型所有的键值对
万物皆对象,而对象完全可以用键值对来表示,所以,在js中,也是通过键值对来表示对象的,在开发中,我在修改的时候,知道属性值可以直接用点.符号来获取值,但是写common.js的时候,发现这个属性名称是变化的,也就是这样就不能通过点来动态获取了,那么这个怎么获取呢?
先看下面
var obj = {"name1":"张三","name2":"李四"};
var key = "name1";
var value = obj.key;//得到了"undefined"
value = obj.name1;//得到了"张三"
var key = "name1";
var value = obj.key;//得到了"undefined"
value = obj.name1;//得到了"张三"
其实我是想动态给key赋值,然后得到key为多少所对就的值。但这种做法行不通,obj.key会去找obj下key为"key"所对应的值,结果当然是找不到喽。
那么既然是键值对,那么是不是可以通过object[key]来获取这个value呢?然后我就尝试着用
obj[key];//这样获取的就是张三
然后呢,经过查询,还有另外一种方法来说去属性值,就是
eval("obj."+key)。
综上,一共有两种方法来获取属性值
综上,一共有两种方法来获取属性值
一、var key = "name1";var value = obj[key];
二、var key = "name1";var value = eval("obj."+key);
二、var key = "name1";var value = eval("obj."+key);