for(var i=0; i<10; i++){
hoge● = i;
}
●印部分に i の番号を入れたいのですが
どのように書けば良いのでしょうか。
下記と同じ様になる様にしたいと言う事です。
配列ではなく、変数にしたいのです。
hoge1 = 1;
hoge2 = 2;
hoge3 = 3;
よろしくお願い致します。
eval()関数を使うのはどうでしょうか。(^_^;
<script> var script = ''; for(var i=0; i<10; i++){ script+="hoge"+i+"="+i+";"; } eval(script); document.write(2*hoge5+1); // 2*5+1=11 </script>
eval()関数を使うのはどうでしょうか。(^_^;
<script> var script = ''; for(var i=0; i<10; i++){ script+="hoge"+i+"="+i+";"; } eval(script); document.write(2*hoge5+1); // 2*5+1=11 </script>
for文の中で使うなら、こんなのはどうでしょうか。
<script> for(var i=0; i<10; i++){ eval("hoge"+i+"="+i+";"); } document.write(2*hoge5+1); // 2*5+1=11 </script>
こういう書き方があるのですね。
勉強になりました。
ありがとうございました。
という条件であれば、windowオブジェクトに直接変数を追加していく方法があります。
for(var i=0; i<10; i++){ window["hoge"+i] = i; } console.log(hoge1); // 1 console.log(hoge2); // 2 console.log(hoge3); // 3 console.log(hoge9); // 9
動作している環境がブラウザの場合、グローバル変数はwindowオブジェクトの子として作成されます。
このため、
var test=100;
と
window["test"]=100;
は同じ動作(結果)となります。
関数の中で使用した場合で関数の外では結果が異なってしまったり、また、他のコードの影響を受ける・与える事があります。
そのため、あまり良い方法ではないという条件が付きます。
※この回答は、わかりやすさを優先させて表現しています。
「window」にすると、このような事が出来るのですね。
今回の私の使い方を考えると問題はありません。
ありがとうございました。
for文の中で使うなら、こんなのはどうでしょうか。
2017/09/11 00:10:43こういう書き方があるのですね。
2017/09/11 07:03:49勉強になりました。
ありがとうございました。