7

どうすればいいですか?

私のコードは次のようなものです:

var number = null;

function playSong(artist, title, song, id)
{
    alert('old number was: ' + [number] + '');

    var number = '10';

    alert('' + [number] + '');
}

最初のアラートは常に 'old number was: ' を返しますが、10 ではありません。

4

7 に答える 7

15

varnumber = '10' を設定するときに使用することnumberで、ローカル変数として毎回宣言しています。これを試して:

var number = null;

function playSong(artist, title, song, id)
{
    alert('old number was: ' + [number] + '');

    number = '10';

    alert('' + [number] + '');
}
于 2009-07-22T18:24:18.857 に答える
11

var関数の前にあるを削除numberします。によってローカル変数を作成しています

var number = 10;

あなただけが必要です

number = 10;
于 2009-07-22T18:23:30.667 に答える
3

number問題は、関数内で名前が付けられた新しい変数を宣言していることです。この新しい変数はグローバル変数を隠しているnumberため、行number = 10はこの新しいローカル変数にのみ割り当てます。

varからキーワードを削除する必要がありますvar number = 10

于 2009-07-22T18:25:30.350 に答える
2

C の場合と同様に、関数/メソッドの外で変数を定義してグローバルにする必要があります。

var number = 0;

function playSong(artist,title,song,id)
{
    alert('old number was: '+[number]+'');
    number = '10';
    alert(''+[number]+'');
}
于 2009-07-22T18:26:50.940 に答える
1

window.number関数内で削除した後、のような任意の関数でアクセスすることもできますvar

于 2013-07-24T06:22:39.693 に答える