10

わかりましたので、ユーザーがクリックしてコードをスローすると、クリックするたびに新しい変数が追加されるので、変数を作成したいと思います。私は現在jqueryとjavascriptを使用していますが、サーバー側ではできません。これはブラウザで行う必要があります。

newCount = document.getElementById('hello').innerHTML;
    $('.hello').click(function(){
        //set count fast enumeration
        newCount++;
        var hello + newCount = '<p>Hello World</p>';
    }); 

だから私は変数をhello1、hello2、hello3、hello4などにしたい.

4

6 に答える 6

33

ブラケット表記でのみこれを行うことができます。つまり、変数を何かに添付する必要があります。
グローバル スコープは window なので、 になりますがwindow['hello' + newCount]、ランダムなプロパティの束でグローバル名前空間を汚染することは良い考えとは思えないため、オブジェクトを使用する方が良いようです。

var vars = {};
var newCount = parseInt($('#hello').html(), 10);

$('.hello').click(function(){
    newCount++;
    vars['hello' + newCount] = '<p>Hello World</p>';
}); 

alert( vars['hello1'] );

フィドル

于 2014-03-29T06:08:18.967 に答える
2

JavaScript (私が知っているように) では、動的変数を作成する方法が 2 つあります。

eval Function
window object
eval:

var pageNumber = 1;
eval("var text" + pageNumber + "=123;");
alert(text1);
window object:

var pageNumber = 1;
window["text" + pageNumber] = 123;
alert(window["text" + pageNumber]);

詳細情報 javascript で動的変数を宣言して使用するにはどうすればよいですか?

于 2014-03-29T06:08:25.537 に答える
1

あなたが使用することができますwindow

var window['hello' + newCount ] = '<p>Hello World</p>';

同じく..

newCount = document.getElementById('hello').innerHTML;
    $('.hello').click(function(){
        //set count fast enumeration
        newCount++;
        var window['hello' + newCount ] = '<p>Hello World</p>';
        alert(window['hello' + newCount ]);
    }); 
于 2014-03-29T06:07:51.923 に答える
1

単純な配列を使用して変数を格納するだけです。次に、インデックス n を持つオブジェクトは変数 n などになります。

于 2014-03-29T06:08:55.633 に答える
-1
var newCount = 0;
$('#btn').click(function(){

    newCount++;
    $('#hello').html('hello' + newCount);
}); 

jsfiddle

于 2014-03-29T06:11:46.487 に答える