-1

http://jsfiddle.net/zzTsc/

文字列に連結されるいくつかの値を保持するJSONがありますが、JSONの値を変更すると、文字列は名前の値を取りません。同じ文字列を再宣言せずに、文字列に新しい値を取得させるにはどうすればよいですか?

JSON値を変更する場所のすぐ下に簡単に配置できstring = name.first + "<br />"+name.last;ますが、その文字列の形式を編集する場合は、2回変更する必要があります。

4

3 に答える 3

2

それは変数がどのように機能するかではありません。string更新するには、の値を再度設定する必要があります。

これは改善されたバージョンであるため、何かを編集する場合に2回変更する必要はありません。

function generateString(name) {
    return name.first + "<br />"+name.last;
}
var string = generateString(name);

デモ

于 2012-11-22T01:02:30.647 に答える
1

説明どおりには機能しませんが、適切な文字列を返す関数を宣言することはできます。

だから代わりに

string = name.first + "<br />" + name.last;

あなたが持っているだろう:

var stringfunction = function() {return name.first + "<br />" + name.last;}

そして、あなたがそれを使いたいとき、あなたはそれを呼ぶでしょう:

alert(string); //old
alert(stringfunction()); //new

編集:私はあなたがフォーマットの変更について話していることに気づきました(おそらく実行時に)。javascriptで文字列形式を使用する方法はいくつかあります。つまり、の内部で「format」変数を使用stringfunctionできます。これを実行時に変更して、結果の文字列の形式を変更できます。ただし、これらのツールの1つを使用してから時間が経ちすぎたため、JavaScriptで文字列の書式設定を行う方法を説明するのは他の人に任せます。

于 2012-11-22T01:02:57.740 に答える
0

これは、文字列が基本型であるため、ポインタではなく実際のデータを保持しているためです。文字列を変更する必要があると思われるデータを変更すると、データのみが変更されます。これは、文字列の作成に使用されたコードを再発行するだけで確認できます。

$('#test').empty().append(name.first + "<br />"+name.last);

http://jsfiddle.net/zzTsc/4/

于 2012-11-22T01:03:00.723 に答える