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>
という条件であれば、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;
は同じ動作(結果)となります。
関数の中で使用した場合で関数の外では結果が異なってしまったり、また、他のコードの影響を受ける・与える事があります。
そのため、あまり良い方法ではないという条件が付きます。
※この回答は、わかりやすさを優先させて表現しています。
※それによって解決方法が変わる質問のように感じます。
例えば、下記の様な感じに使います。
if(hoge●){}