2012-02-03 42 views
0

私は1つのオブジェクトに複数の関数を格納したいと思います。しかし、私の現在のコードは、以前のデータを上書きするようです。オブジェクトを関数に格納する方法は?

関連:https://stackoverflow.com/a/3733591/309535

それが起こっている他のものとのループであるため、コードでは、JavaScriptの同じブロック内にすることはできません。

マイコード:

<script type="text/javascript"> 
var at = { 
    atleft_1: function drawChart() { 
    // data goes here 
    } 
} 
</script> 

//次ループ

<script type="text/javascript"> 
var at = { 
    atleft_2: function drawChart() { 
    // data goes here 
    } 
} 
</script> 

答えて

4

atがすでに定義されている場合は、単にプロパティを割り当てる:

var at = {}; 
at.atleft_1 = function.....; 
at.atleft_2 = function.....; 

が、それの外観で、あなたとのよりよいかもしれません:

at.atleft = function(id) {...}; 
+0

ありがとうございます。今すぐご利用ください! – brant

+2

各反復で、次のようにすることもできます: 'var at = at || {}; '。 'at'が定義されていれば、それは既存のものを取ります。存在しなければ新しいオブジェクトを作成します。 –

0

あなたはこのような何か行うことができます。

<script type="text/javascript"> 
var at = { 
    atleft_2: function() { 
     // data goes here 
    }, 
    atleft_1: function(){ 
     //data goes here 
    } 
}; 
</script> 

なぜあなたはdrawChartを使用しているの??私はそれを得ていない。

+0

DrawchartはGoogle Chartsのものです。 1つのページに複数のグラフを追加する。これは私が把握できる最良の方法でした。 。 。 http://code.google.com/intl/ja/apis/chart/interactive/docs/gallery/linechart.html – brant

+0

これらの機能でその機能を呼び出す必要があります。 – emphaticsunshine

関連する問題