2012-04-04 13 views
0

これはまさに私がしたいことです。しかし、HTMLは関数呼び出しを値で置き換えるわけではないので、私は混乱してしまいます。正しい値は配列に渡されます。私は他の人が同じ問題を抱えている場合に備えて、この質問をここに残しています。シンプルなjavascriptの問題

私はいくつかのjavascriptがあります

<script type="text/javascript"> 
    var $SAT = $SAT || []; 
    $SAT.push(['setContent','subtype','sub']); 
    $SAT.push(['setUser', '1234']); 
</script> 

を私はそうのように、他の手段で値を取得する関数呼び出しで「サブ」を置き換えたい:

<script type="text/javascript"> 
    function getValue() { 
     return 'Some Value'; 
    } 
    var $SAT = $SAT || []; 
    $SAT.push(['setContent','subtype',getValue()]); 
    $SAT.push(['setUser', '1234']); 
</script> 

しかし、結果のコードgetValue()関数の呼び出しを 'Some Value'と置き換えることはできません。なぜ誰かがこれを解決するために必要なことを知っていますか?

非常に高く評価されました!ここで

+0

は、あなたが値を使用して、配列にアクセスしたり、一度だけ時にすべての時間を頂いれたくないんことがわかりますあなたは配列を埋める? – Tom

+3

実際には、([Demo](http://jsfiddle.net/drJhx/))です。もっとコードを共有してもらえますか? – Oybek

+3

あなたのコードは、投稿されたとおり、あなたがしたいものとまったく同じです。 – Pointy

答えて

1

がテストされていないアイデアだ:

... 
var get_val = function() { 
    return "Hi."; 
}; 
$SAT.push(['setContent', 'subtype', get_val()]); 
// $SAT now has ['setContent', 'subtype', 'Hi.'] 
$SAT.push(['setUser', '1234']); 
... 
+1

この場合、関数の参照は値の代わりに渡されます。 – Oybek

+0

私はすでにそれを試みました。無駄に。 – MichaelS

+0

はい、これは関数への参照のみを渡します。あなたはそれを代わりに関数の呼び出しにするために編集してください! – MichaelS