
[code]

    subWin = new Array(0,10);
    
    var i=0;
    
    for (i; i<4; i++) {
        alert("イン　ループ、OP windo　　!="+ i);
        subWin[i] = window.open("tmp.txt",'"sample"+i ', "newwindow" );
        alert("Get>="+ subWin[i].name+ "==" + " XX" + i );
    };
    
[/code]

この二回目の、アラートで、 二番目の、引数が、＞"sample"+i＜ ＜このように表示されます。 シングルクォートを消しても、おなじです。  
動作は、 sanpl1,,sampl2,,,,と、 名前が変わる、ように書きたいのです。

なにか、書き方はありますか？ どうぞよろしくお願いします。


CC BY-SA 4.0
2019-01-03T16:26:50.803
51685
2019-01-08T08:16:36.703
2019-01-04T03:17:18.987
29826
31648
question
javascript
サブウィンド、が、一つしか開かない（　文字変数が、　評価されない、）


シングルクォート、ダブルクォートで囲った文字列リテラルはバックスラッシュによるエスケープの解釈以外何もしません。変数を書くことはできません。ですので、文字列リテラル`'"sample"+i
'`の値は`"sample"+i`です。

この場合、単に外側のシングルクォートを外せば期待どおりになるはずです。`window.open("tmp.txt", "sample" + i, ...`

また、テンプレート文字列を使うこともできます。この場合は文字列の中で変数を使うことができます。バッククォートで文字列を囲み、評価したい式を `${〜}`
で囲みます。

`window.open("tmp.txt", `sample${i}`, ...`


CC BY-SA 4.0
2019-01-08T03:45:01.227
51814
2019-01-08T08:16:36.703
2019-01-08T08:16:36.703
3475
3475
51685
answer