• ベストアンサー

構文チェックでのエラー?

babu_babooの回答

  • ベストアンサー
回答No.3

#1です。 比較するときは、「型」をそろえましょう!ということ。 数値型と文字列型を比較したらまずい if( 1=="1" ) alert("no"); if( ''+1 =="1" ) alert("ok"); 同じように、true/falseを返すのはboolean型。 ===や!==は、型を含め厳密に比較します。 なので、普段からそういう癖をつけなさいよ!って意味でとらえたら? 自分も含めてですが、ここの回答者でも、使わない人が多いよ! 俺はたまに使うけどね^^; それから、比較するときは、 var a = "babu"; if( a === "babu" )としないで if( "babu" === a ) という書き方を心がけています。 もしタイプミスで if( "babu" = a ) なんてときがあると、文字列に値は代入できないのでミスを発見できる。 というか、過去にも#2様には、「型」でお世話になっているので、納得できるまで 説明があるかもしれません!(と、ふってみる)

takumana20
質問者

お礼

詳しい説明ありがとうございました。 でも初心者すぎて、どうすれば良いのかまったくわかりませんでしたww もう少し勉強してみます <(_ _)>

関連するQ&A

  • <br>と<br />を統合変換

    テキストの改行変換をジャバスクリプトで、 if(getId("br_1").checked==true){ str = str.replace(/&lt;br&gt;/g, "\n"); } if(getId("br_2").checked==true){ str = str.replace(/(&lt;br \/&gt;)/g, "\n"); } <input type="checkbox" name="br_1" />削除1 <input type="checkbox" name="br_2" />削除2 これで、 <br>と<br />が\n変換されるようになりましたが、 これで書き方は正しいでしょうか? また、 これをラジオボタンで 「なし」「削除1」「削除2」と単一選択にしたいのですが、 どうやればよいのでしょうか?  

  • 大小文字混合させて削除したい

    if(getId("abc").checked==true){ str = str.replace(/AA|BB/g, ""); } 現在、AA,BB は削除できますが、 AA,Aa,aA,BB,Bb,bBの大文字小文字混合でも削除する場合はどうやればよいでしょうか? str = str.replace(/AA|BB/i, ""); にしたら、変な動作になりました。  

  • 改行をカンマ変換、複数ある場合を1個に

    テキストの改行部分をカンマに置き換えています。JavaScript初心者です。 if(getId("br_kanma").checked==true){ str = str.replace(/(\r\n\r\n)|(\n\n)|(\r\n)|(\n)/g, ","); } この場合で、連続改行が続く場合にカンマも増えてしまいます・・・ 改行スペースが多くてもカンマを1個だけにするにはどうしたらよいでしょうか?  

  • ビルダーの構文チェックエラー

    こんばんは。(こんにちは?) ホームページ・ビルダー7の「HTML構文チェック」でエラーが出るのですが、どう直せばいいのか分からずに困っています。 三分割のフレームの境界線に黒色をつけようと思ったのですがビルダーだけではできないみたいだったので、HTMLタグ素材を借りてきてソースに直接挿入しました。 するとソースの <FRAMESET rows="100,*" frameborder="1" framespacing="1" framepadding="1" bordercolor="#000000"> が赤色になりました。 何かおかしいのかなと思ってツールのHTML構文チェックをしてみたところ、 framespacing と framepadding と bordercolor の属性名が未定義です  と出るのです。 ど・どういうことなのでしょうか・・・? ちなみにビルダーのプレビューでも、IEにファイルを開いてブラウザで見てみても、ちゃんと境界線は黒い色に引かれています。 ご指導をよろしくお願い致します。

  • 構文チェックについて

    #!/usr/local/bin/perl $perl = `perl -wc web.cgi`; $perl=~s/[\r\n]/<BR>/g; print <<"END"; Content-type: text/html <HTML> <HEAD><TITLE>PERLCHECK</TITLE></HEAD> <BODY> perl<BR>$perl </BOBY> </HTML> END exit; と以上のように書いてますが。telnet上ではOKと出ますがブラウザでみるとエラーが出ます。 やりたいことは、Telnetを使っての構文チャックではなく、ブラウザ上で構文のチェックは出来ないか模索しています。上記の`UNIXコマンド`の部分で、freeやdf等のコマンドを実行させると実行結果が得られるので、その延長で出来ないかと考えてます。初心者なのですいませんが教えてください。

    • ベストアンサー
    • Perl
  • トークンで分けた文字列をさらにトークンで分ける

    初心者です。よろしければご教授下さい。 temp.c:12: warning: useless keyword or type name in empty declaration というような文字列がg_str02[0]に格納されている時に、まずは「 」(半角スペース)を区切り文字としてトークンごとに分け最初の2つのトークンをmretsu1[0]とmretsu1[1]の中に格納し、さらにmretsu1[0](上記で言う「temp.c:12:」)を「:」を区切り文字としてトークンごとに分けmretsu2[0]とmretsu2[1]に格納するような関数を作りたいのですが、コンパイルは成功するのですが、できた実行ファイルを実行するとエラーが起きて強制終了されてしまいます。 現在ソースは以下のようになっています。 ////////// char mretsu1[255][255]; char mretsu2[2][255]; char *token1 = " "; char *token2 = ":"; strcpy(mretsu1[0], strtok(g_str02[0], token1)); strcpy(mretsu1[1], strtok(NULL, token1)); strcpy(mretsu2[0], strtok(mretsu1[0], token2)); strcpy(mretsu2[1], strtok(NULL, token2)); ////////// デバッグをしてみた所、どうもmretsu1[0]をさらに分解しているところにエラーがあるようです。 よろしくお願いします。

  • Javascriptでラジオボタンとチェックボックスの値を足して計算し

    Javascriptでラジオボタンとチェックボックスの値を足して計算しようとしました。 しかし、チェックボックス同士の値は足されるのですが、ラジオボタンの値は計算されずにそのまま表示されます。 ラジオボタンの値も足されるようにするにはどうしたら良いでしょうか。 よろしくお願いいたします。 javascript↓ function calc2() { var ss=""; var fs= document.forms; for (var f=0 ; f<fs.length ; f++) { //formが複数ある場合、formの数だけ繰り返し d = fs[f].elements; //dにform内のエレメントを代入 checkvalue = 0; //checkvalueの値を0にする。ここをcheckvalue = ""; にすると、文字列として扱われる for (var i = 0; i < d.length; i++ ) { //form内のエレメントの数だけ繰り返し if (d[i].checked == true) { //チェックボックスがチェックされていたら checkvalue += Number(d[i].value); //checkvalueの値(整数の場合)にそれぞれのエレメントの値(value)を追加していく } } ss += checkvalue; function addFigure(str) { //3桁のカンマ挿入 var num = new String(str).replace(/,/g, ""); while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2"))); return num; } var sss = addFigure(ss); //ssの値にカンマを挿入してsssに代入 } document.getElementById('ch_all').innerHTML = "\\" + sss; //html本文内のid="ch_all"の場所に書き出す } html↓ <html> <head> <script type="text/javascript"> </script> <script type='text/javascript' src='test_checked2.js'></script> </head> <body> <div id="ch_all" style="background-color: #eeeeee;">&nbsp;</div> <hr /> <form name="Tform1"> <input type="radio" name="test" value="34500" onclick="calc2()"> \34,500 <input type="radio" name="test" value="15000" onclick="calc2()"> \15,000 <input type="radio" name="test" value="3000" onclick="calc2()"> \3,000 <input type="radio" name="test" value="4444" onclick="calc2()"> \4,444 </form> <form name="Tform2"> <input type="checkbox" name="test2" value="34500" onclick="calc2()"> \34,500 <input type="checkbox" name="test2" value="15000" onclick="calc2()"> \15,000 <input type="checkbox" name="test3" value="3000" onclick="calc2()"> \3,000 <input type="checkbox" name="test4" value="4444" onclick="calc2()"> \4,444 </form> </body> </html>

  • なぜ構文エラーにならないのでしょうか?

    oracle12cで下記のSQLを実行すると13という結果が返ってきます。 しかし、内側のSQLは構文エラーとなります。 Select sum_qty as "13日の金曜日" From ( Select key,Sum(qty) sum_qty From ( Select 'a' key,1 qty from dual union all Select 'a' key,2 qty from dual union all Select 'b' key,10 qty from dual ) ) なぜ13という結果が返ってくるのか理由を知りたいです。

  • 構文がエラーになる

    Exception in thread"main"java.lang.NoClassDefFoundError という文章でエラーになります。 import java.io.*; class Sample34 { public static void main (String args[])throws IOException { System.out.println("整数を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int res = Integer.parseInt(str); if(res == 1){ System.out.println("1が入力されました。"); } else if(res == 2){ System.out.println("2が入力されました。"); } else{ System.out.println("1か2を入力してください。"); } } }

  • 構文エラー

    PHP Version 4.3.10 windows環境で シフトジスでソース書いています "表" をいれると 構文エラーになってします。 マルチバイトに対応していないせいなのはわかるのですが "表1" みたいになにかうしろに文字をいれると大丈夫のようなので それでしばらく回避して使うことにしたのですが なにか いい回避方法あれば教えてください

    • ベストアンサー
    • PHP