質問: window.open("tmp.txt",'"sample"+i ', "newwindow" ); alert("Get>="+ subWin[i].name+ "==" + " XX" + i ); }; ``` この二回目の、アラートで、 二番目の、引数が、>"sample"+i< <このように表示されます。 シングルクォートを消しても、おなじです。 動作は、 sanpl1,,sampl2,,,,と、 名前が変わる、ように書きたいのです。 なにか、書き方はありますか? どうぞよろしくお願いします。
回答: シングルクォート、ダブルクォートで囲った文字列リテラルはバックスラッシュによるエスケープの解釈以外何もしません。変数を書くことはできません。ですので、文字列リテラル`'"sample"+i '`の値は`"sample"+i`です。 この場合、単に外側のシングルクォートを外せば期待どおりになるはずです。`window.open("tmp.txt", "sample" + i, ...` また、テンプレート文字列を使うこともできます。この場合は文字列の中で変数を使うことができます。バッククォートで文字列を囲み、評価したい式を `${〜}` で囲みます。 `window.open("tmp.txt", `sample${i}`, ...`