234

JavaScriptには、コードの行を分割して、新しい行にあるにもかかわらず連続して読み取られるようにする文字がありますか?

何かのようなもの....

1.アラート(「ファイルを選択してください   
2. \削除する");
4

11 に答える 11

306

あなたの例では、文字列を2つの部分に分割できます。

alert ( "Please Select file"
 + " to delete");

または、あなたの場合のように文字列の場合は、@Gumboが提案したようにバックスラッシュを使用できます。

alert ( "Please Select file\
 to delete");

このバックスラッシュアプ​​ローチは必ずしも好ましいとは限らず、おそらく普遍的にサポートされていないことに注意してください(これに関するハードデータを見つけるのに苦労しました)。ECMA5.1仕様には含まれていません

(引用符で囲まれていない)他のコードを操作する場合、改行は無視され、完全に受け入れられます。例えば:

if(SuperLongConditionWhyIsThisSoLong
  && SuperLongConditionOnAnotherLine
  && SuperLongConditionOnThirdLineSheesh)
{
    // launch_missiles();
}
于 2009-02-03T18:18:21.203 に答える
44

行の最後に円記号を付けます。

alert("Please Select file\
 to delete");

編集行末文字はまったく許可されていないため、これはECMAScript文字列の一部ではない    ことに注意する必要があります。

' LineTerminator '文字は、バックスラッシュが前に付いている場合でも、文字列リテラルに表示できません\。行末記号文字を文字列リテラルの文字列値の一部にする正しい方法は、\nまたはなどのエスケープシーケンスを使用すること\u000Aです。

したがって、文字列の連結を使用することをお勧めします。


アップデート2015-01-05ECMAScript5の    文字列リテラルでは、次の構文が可能です。

空の文字シーケンスを生成するLineContinuationの一部を除いて、ラインターミネータ文字を文字列リテラルに含めることはできません。行末記号文字を文字列リテラルの文字列値の一部にする正しい方法は、\nまたはなどのエスケープシーケンスを使用すること\u000Aです。

于 2009-02-03T18:18:53.560 に答える
38

ECMAScript 6 で導入されたテンプレート文字列:

テンプレート文字列は、式を埋め込むことができる文字列リテラルです。複数行の文字列と文字列補間機能を使用できます。

例えば:

alert(`Please Select file   
to delete`);

警告します:

Please Select file   
to delete
于 2015-06-28T18:40:02.183 に答える
7

文字列を2つに分割します 

alert ("Please select file " +
       "to delete");
于 2009-02-03T18:19:05.230 に答える
5

興味深いことに注意してください。試した:

alert("Some \
    string \
    wrapped \
    across \
    mutliples lines.")

そして、これはうまくいきました。しかし、たまたま!、最後のバックスラッシュの後にスペース文字がありました (他のすべてのバックスラッシュは行末にありました)。そして、これによりjavascriptでエラーが発生しました! ただし、このスペースを削除するとエラーが修正されました。

これは、Cordova を使用した Android 用の ADT にあります。

于 2013-03-17T07:06:57.227 に答える
1

あなたはただ使うことができます

1:  alert("Please select file" +
2:        " to delete");

それはうまくいくはずです

于 2009-02-03T18:18:54.730 に答える
-6

コードを手動で中断する必要はありません。中断したい場所に \n を追加するだけです。

alert ("Please Select file \n to delete");

これにより、次のようなアラートが表示されます

Please select file 
to delete.
于 2012-07-04T13:24:12.157 に答える