• ベストアンサー

Eclipse(3.2.0)で複数にまたがるIF文の書き方

いつもお世話になっております。 Eclipseを用いてJavaScriptでプログラム作成を行っております。 その中で、IF文の論理式が複数にわたる場合、警告として「Strict line ending error」が表示されてしまいます。 (例) if (a == 1 && b == 1) { } 一行で書くには少々長い条件式を利用する必要が有り、苦慮しております。 この警告を発生させない記述方法、または警告を起こさないEcripseの設定等ございましたら、ご指導ください。 以上、宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#94983
noname#94983
回答No.1

if (a == 1 && b == 1) ↓ if (a == 1 && b == 1) 文の終わりに&&をつけて改行したらどうだろうか。その「長い文」というのがどういうのかわからないからうまくいくかわからないが、例のように「&&で条件をつないでいる」というものなら、これでうまくいくはず。 JavaScriptは、セミコロンの他、改行だけでも「文の終わり」と判断する。ただし、その行が文として完結していない場合には次の行まで同一の文と判断する。最後に&&がついていれば、明らかにその文はその行だけで完結してないことがわかるので、次行まで同一文として読みにいくはず。

akkey_pe
質問者

お礼

有難うございます。 教えていただいた方法で上手くいきました。 >最後に&&がついていれば、明らかにその文はその行だけで完結してないことがわかる なるほど、言われて見ればその通りですね。 勉強になりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • JavaScript IFを利用した場合分けについて

    JavaScriptでIFを使って場合分けを記述する場合、 if(条件式) { document.write("○○○"); else { document.write("×××"); } } のように書くと思うのですが、この【if(条件式)】の条件式の部分に 数字のみを入れることは可能なのでしょうか?(質問1) http://www.tagindex.com/javascript/form/check1.html ↑のサイト(TAG Index)のソースを見たところ、 if(flag)~と書かれており。条件「式」ではありません。 プログラムの最初の方に var flag =0;とあるのでそれを条件式にするのかな? とも考えたのですが、変数の宣言を条件式に使うのは何かおかしいような気がします。 それに、flagが0の場合はelseに飛ぶのにflag 0が条件式のはつじつまがあわなくなってしまいます。 なぜここにflagが入るのでしょうか?(質問2) プログラムがどう動いているかはなんとなくわかるのですが、 if(flag)を書いたらなぜ成立するのか、文法の部分がわかりません。 どなたかご教授お願いいたします。

  • IF関数

    勤務分担担当表を作成しています。以前から論理式の対象のセルに計算式が入っているとき関数が反映しない時があります。未熟が原因だと思うのですが回答お願いいたします。例を記載します。対象セル(=E18).E18の計算式=IF(AD9=2,"休",IF(AD9=1,"3",IF(AD9="休","2",IF(AD9=3,"1")))).反映させたいセルの計算式=IF(I$18=1,IF(E19=3,4,3),IF(I$18=2,IF(E19=1,$X$4,IF(E19=2,$AD$3,IF(E19=3,$AD$4,IF(E19=4,$X$3,"")))),""))です。仕事の分担に1~4まであります、それを返し、勤務表を作成しています。他の事例では対応できるのですが今回はできません。ご指導お願いいたします。

  • IF関数

    勤務分担担当表を作成しています。以前から論理式の対象のセルに計算式が入っているとき関数が反映しない時があります。未熟が原因だと思うのですが回答お願いいたします。今回の例を記載します。対象セル(=E18).E18の計算式=IF(AD9=2,"休",IF(AD9=1,"3",IF(AD9="休","2",IF(AD9=3,"1")))).反映させたいセルの計算式=IF(I$18=1,IF(E19=3,4,3),IF(I$18=2,IF(E19=1,$X$4,IF(E19=2,$AD$3,IF(E19=3,$AD$4,IF(E19=4,$X$3,"")))),""))です。仕事の分担に1~4・休、まであります、それを返し、勤務表を作成しています。他の事例では対応できるのですが今回はできません。ご指導お願いいたします。対象セルが実数だと反映してくれます。

  • JavaScript を一文にしたい

    JavaScript で[style]や[classList]と[textContent]を繋げて一文にする方法を教えてください。 超初心者です。 現在、条件分岐を学習した後、条件演算子を学習しています。if~else文を簡略化して以下のように記述できると学びました。 【条件式 ? trueの処理 : falseの処理;】 これを使って(-----)以下のように記述するとブラウザに"Congrats!"と表示されます。 定数constに70を代入すると"You have failed!"とちゃんと出てきます。 ちなみにこれにHTML内に記述しているCSSを効かせたいのですが、 h1.classList.ad('pass').textContent = 'Congrats!': ..........とするとエラーになります。 style属性をつけてセミコロン(;)で区切ってもエラーとなります。 複数行で記述するなら h1.classList.ad('pass'); h1.textContent = 'Congrats'; と記述すればいいのですが、この条件演算子の場合は、セミコロンでつなぐとエラーになります。 こういう場合、複数行でなく一文にして複数の属性をつけるにはどのように記述したらよいのでしょうか? ブラウザはchromeの最新版を使っています。 初心者です。教えてください。宜しくお願い致します。 -------- (main.js) 'use strict'; const score = 85; const h1 = document.querySelector('h1'); score >= 80? h1.textContent = 'Congrats' : h1.textContent = 'You have failed'; ------------------------------------ (HTML) <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>JavaScript BASICS</title> <style> .pass{ color:#000; background-color: red; } .fail{ color:blue; background-color: gray; } </style> </head> <body> <h1></h1> <script src="js/main.js"></script> </body> </html>

  • phpでのjavaSの記述方法

    下記の条件の時phpで if (strlen($ken3) and strlen($ken4) > 0) { ”<script Language="JavaScript"><!-- alert("警告"); // --></script>”; } 警告ウィンドウを表示したいのですが、 Parse error: syntax error, unexpected となります。 また、変数で $javas = "<head> <title>警告ウィンドウを表示する</title> <script Language="JavaScript"><!-- alert("警告"); // --></script> </head>";と記述してもParse errorとなります。 警告ウィンドウの記述方法は?

    • 締切済み
    • PHP
  • フォームで複数の関数を1つにまとめる方法

    フォームに関して、必須項目が未入力・未選択の場合に警告する JavaScriptを記述したいのですが、 複数のJavaScriptを1つにまとめるにはどうしたら良いのでしょうか。 具体的には、 【1】テキストフィールド未入力の場合に警告する 【2】メールアドレスが間違いor未入力の場合に警告する 【3】セレクトボックスが未選択の場合に警告する という3つを同じページで同時に設定する方法が分かりません。 記述した内容は下記の通りです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【1】 <script type="text/javascript"> <!-- function check(){ var flag = 0; // 設定開始(必須にする項目を設定してください) if(document.form1.field1.value == ""){ // 「お名前」の入力をチェック flag = 1; } else if(document.form1.field2.value == ""){ // 「ご住所」の入力をチェック flag = 1; // 設定終了 if(flag){ window.alert('必須項目に未入力がありました'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } else{ return true; // 送信を実行 } } // --> </script> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【2】 <script type="text/javascript"> <!-- function check(){ var flag = 0; // 設定開始(チェックする項目を設定してください) if(!document.form1.email.value.match(/.+@.+\..+/)){ flag = 1; } // 設定終了 if(flag){ window.alert('メールアドレスが正しくありません'); // メールアドレス以外が入力された場合は警告ダイアログを表示 return false; // 送信を中止 } else{ return true; // 送信を実行 } } // --> </script> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【3】 <script type="text/javascript"> <!-- function check(){ var flag = 0; // 設定開始(チェックする項目を設定してください) if(document.form1.select1.options[document.form1.select1.selectedIndex].value == ""){// 「地域」の入力をチェック flag = 1; } else if(document.form1.select2.options[document.form1.select2.selectedIndex].value == ""){ // 「生年月」の入力をチェック flag = 1; } else if(document.form1.select3.options[document.form1.select3.selectedIndex].value == ""){ // 「生年日」の入力をチェック flag = 1; } // 設定終了 if(flag){ window.alert('選択されていません'); // 選択されていない場合は警告ダイアログを表示 return false; // 送信を中止 } else{ return true; // 送信を実行 } } // --> </script> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【本文】 <form name="form1" onSubmit="return check()"> ■お名前:<input type="text" name="field1" size="30" style="ime-mode:active;"> ■メールアドレス:<input type="text" name="email" size="30" style="ime-mode:inactive;"> ■地域: <select name="select1"> <option value="北海道">北海道</option> <option value="青森県">青森県</option> ・ ・ </select> ■ご住所<input type="text" name="field3" size="60" style="ime-mode:active;"> ■生年月日 <select name="select2"> <option>1</option> <option>2</option> ・ ・ </select>月 <select name="select3"> <option>1</option> <option>2</option> ・ ・ </select>日 </form> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ JavaScriptの記述経験が殆ど無いため、 出来る限り詳しくご教示願いたく、 よろしくお願い致します!

  • strict refs in use

    Perl cgiを作っているものです。 Can't use string ("from_auto") as a HASH ref while "strict refs" in use at common.cgi line 43. というエラーがでました。line 43にはstrict refsに関係のありそうな記述はありません。 common.cgiの中に、連想配列の参照渡しを追加したとたん、上記のエラーが出るようになりました。解決策をご指導ください。

    • ベストアンサー
    • Perl
  • テーブルで複数行をまとめて非表示にしたいです

    よろしくお願い致します。 以下の記述でエラーが出てしまいます。 見よう見まねで書いているので、根本的に間違っているのでしょうか・・・。 function open_close_hide(){  var row = document.getElementsByClass('hide');  if (row.style.display == 'none') {   row.style.display = '';   } else {   row.style.display = 'none';   }  } テーブルの非表示にしたい行は<tr class = "hide">としています。 クリックする部分は <a href=\"javascript:void(0):\" onClick=\"open_close_rowhide();return false;\">表示/非表示</a> としています document.getElementByIDで一行ごとに非表示にするのには成功したのですが、 classで複数行を同時非表示にすることが出来ません。 getElementsByClassNameでも駄目でした。 詳しい方がおられましたら、よろしくお願い致します。

  • redoを実行するとスカラー変数の値がundefになってしまうのはどうしてでしょうか?

    はじめまして。 質問があります。 まずは以下のコードを見てください。 ---------------------------------------------------------------- use strict; use warnings; open(FILE,'redo01.txt') or die "$!"; while(my $line = <FILE>) { print "undef\n" unless( defined($line) ); chomp($line); if($line =~ /---$/) { $line .= <FILE>; redo; } print $line,"\n"; } close(FILE); ---------------------------------------------------------------- --redo01.txt---------------------------------------------------- zero--- one--- two--- three--- four ---------------------------------------------------------------- ファイルから一行を読み込んできてスカラー変数$lineに代入して、 redoを実行しながら$lineの値をどんどん連結していき最後に文字列を 表示させようと思っていたのですが、なぜかredoを実行後 ループ内の先頭行に制御を移してから$lineの値を調べてみると、 undefになってしまいます。事実、chomp()関数やパターンマッチ、 print関数を実行すると、エラーになってしまいます。なぜ$lineの値 がundefになってしまうのでしょうか?どうかご教授お願いします。

    • ベストアンサー
    • Perl
  • 特殊な連想配列について

    どなたか教えてください。 $_REQUESTを使用した部分に警告が出て正しく表示されません。 参考にしたサンプルソースの説明書にはPHP5.2.6と書いてあったのですが、 私の環境は5.3ですのでそれが起因しているような気がするのですが、ググっても 全くわかりません。 if($_REQUEST(["xxx"]) != "" ) のような記述部分が全て Notice: Undefined index: xxx in C:\xampp\htdocs\abcde\test.php on line 49 のようになります。 よろしくお願いいたします。

    • ベストアンサー
    • PHP