- 締切済み
値を取得できない
var hoge = { piyo: { bar = /* ここにhogehoge.fooの値を入れたい */ }, foo: "Hello, World!" } でhoge.piyo.barからhoge.fooの値を取得したいのですが、 hoge.fooとやってもthis.fooとやっても取得できません。 どうすれば取得できるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- arexis
- ベストアンサー率66% (66/99)
var hogeがまだ定義が済む前の段階なので参照できないのかも? 遠まわしになりますが ■宣言が済んでから入れる var hoge = { piyo:{}, foo:"Hello, World!" } hoge.piyo.bar = hoge.foo; alert(hoge.piyo.bar) ■使う時にeval評価させる var hoge = { piyo:{ bar:'hoge.foo' }, foo:"Hello, World!" } alert( eval(hoge.piyo.bar) ) ■関数化して () で呼び出す var hoge = { piyo:{ bar:function(){ return hoge.foo } }, foo:"Hello, World!" } alert( hoge.piyo.bar() )
ごめん!これしか思い浮かばない <html><body> <script> var hoge = { foo: "Hello, World!" } hoge['piyo']={bar:hoge['foo']}; alert(hoge.piyo.bar); function hoge2(){ this.foo = "Hello, World!"; this.piyo = {bar: this.foo }; } hoge = new hoge2(); alert(hoge.piyo.bar); </script>
bar = を bar: に
補足
すいません。記述ミスです(汗) hogehoge→hoge bar =→bar: として回答お願いします。
お礼
やはりそういう方法しかありませんか・・・ 回答ありがとうございました