jsはどうやってobjectタイプのキーを取得しますか?


最近一つの問題に遭遇しました。
 
var obj = {"name1":" ","name2":" "};
var key = "name1";
var value = obj.key;// "undefined"
value = obj.name1;// " "
は実は私はキーに動的に値を付けたいです。そして、keyはどのぐらいのペアの値を得ますか?しかし、このようなやり方は通用しません。obj.keyはobjの下でkeyが「key」に対応する値を探します。結果はもちろん見つけられません。そこで、私はjsの中で対象の属性を遍歴する方法を思い付きました。
 
function printObject(obj){
//obj = {"cid":"C0","ctext":" "};
var temp = "";
for(var i in obj){// javascript for/in
temp += i+":"+obj[i]+"
";
}
alert(temp);// :cid:C0
ctext:
}
このようにすれば、jsの中の一つの対象のkeyとvalueはそれぞれ何かを知ることができます。先ほどの問題に戻りましたが、どうやってkeyに価値を与えて、obj.keyで対応するvalueを得ますか?実は以上のprintObjectの中でヒントがあります。それはobj[key]の方法を使って、keyはダイナミックであることができます。最後にもう一つの方法があります。それはつまり、eval(「obj.」+key)です。まとめ:jsでは、ダイナミックキーによって、ある対象の中の対応するvalueを得る方法は二つあります。一、var key=「name 1」。var value=obj[key]二、var key="name 1"var value=eval("obj."+key);