jslintのエラーについて質問

このQ&Aのポイント
  • エラーとして『Expected an identifier and instead saw '<!'.』と出ました。何故ですか?
  • 以下のソースコードであるエラーが出ました。それが何故エラーなのかがわからないので質問します。
  • jslintのエラーについて質問
回答を見る
  • ベストアンサー

jslintのエラーについて質問

以下のソースコードであるエラーが出ました。それが何故エラーなのかがわからないので質問します。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>STEP5演習</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script type="text/javascript"> <!-- var a,b,kai; a=10; b=4; function tashizan(){ kai=a+b; alert("答えは"+kai+"です"); } function hikizan(){ kai=a-b; alert("答えは"+kai+"です"); } function kakezan(){ kai=a*b; alert("答えは"+kai+"です"); } function warizan(){ kai=a/b; alert("答えは"+kai+"です"); } fanction amari(){ kai=a%b; alert("答えは"+kai+"です"); } //--> </script> </head> <BODY> <H3>変数の演算</H3> a=10、b=4について、<BR> 変数「a」と「b」の計算結果を表示します。<BR> <BR> <BUTTON onclick="tashizan()">足し算</BUTTON> <BUTTON onclick="hikizan()">引き算</BUTTON> <BUTTON onclick="kakezan()">掛け算</BUTTON> <BUTTON onclick="warizan()">割り算</BUTTON> <BUTTON onclick="amari()">余り</BUTTON> </BODY> </html> 質問:エラーとして『Expected an identifier and instead saw '<!'.』(javsscript構文内の「<!--」のやつです)と出ました。何故ですか? 何がエラーかぜんぜんわからない。 投稿日時 - 2012-07-10 22:34:33

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

  • ベストアンサー
  • dscripty
  • ベストアンサー率51% (166/325)
回答No.4

> optionでの設定の意味を教えてください。 意味はよくわからないけど、 ずらずらっと出てきたエラーメッセージに似てる名前のオプションを ぽちぽちっとクリックしてみただけ。

その他の回答 (3)

  • dscripty
  • ベストアンサー率51% (166/325)
回答No.3

■ JSLint 用のオプション Options Assume... true: abrowser true: console,alert,... Tolerate... true: missing 'use struict' pragma true: messy white space true: HTML fragments ■ 検査用 JavaScript コード <script type="text/javascript"> var a,b,kai; a=10; b=4; function tashizan(){ kai=a+b; alert("答えは"+kai+"です"); } function hikizan(){ kai=a-b; alert("答えは"+kai+"です"); } function kakezan(){ kai=a*b; alert("答えは"+kai+"です"); } function warizan(){ kai=a/b; alert("答えは"+kai+"です"); } fanction amari(){ kai=a%b; alert("答えは"+kai+"です"); } </script> ■ 結果 fanction amari() のエラーだけでたよ?

wantanton
質問者

お礼

まじかっこいいです、、dscriptyさん。 ファン登録させて頂きます! 救世主です!!!!!!!

wantanton
質問者

補足

丁寧なご回答誠にありがとうございます! できた!確かにそこだけのエラーです!すごい! dscriptさんがしたoptionでの設定の意味を教えてください。 ぜんぜんわからん、、

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

よくわかりませんが、html全部かけたりしてませんか? JSLintってスクリプトだけでいいのでは?

wantanton
質問者

補足

スクリプトだけ書いてもhtml含め全部書いても同じエラーです。。 jslint僕には使いにくいですね。。 jslintみたいなjsの文法チェックしてくれるシステムを搭載した開発環境って何かありますか?探したのですがない、、eclirpseもaptanastudioもnetbeensもだめ、、

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

fanction amari(){    ↓ function amari(){

wantanton
質問者

補足

丁寧なご回答誠にありがとうございます! そこを改善しても同じようなエラーが出ます。 何故。。 凄い、、それにしてもそんなトリヴィアルな間違いよく気がつきましたね。 凄いです。

関連するQ&A

  • ジャバスクリプトが動かない

    Windows7 64ビット IE9 次のスクリプトでボタンを押しても反応しません。 どこがおかしいのでしょうか。教えてください。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta content="text/html; charset=Shift_JIS" http-equiv="content-type"> <title>貯血スケジュールの作成</title> <script language="JavaScript"> <!-- function kotae(){ var kai = 37; alert(kai); } //--> </script> </head><body> <h3>問題</h3> 16+21= <button onclick="kotae()">答えを見る</button> </body></html>

  • javascript ワークブック 問題

    <HTML> <HEAD> <TITLE>繰り返し処理</TITLE> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <SCRIPT type="text/javascript"> <!-- function goukei(){ var kai = 0; var bunbo = 2; var a; for (i=1 ; i<=10 ; i++){ a = 1 / bunbo; kai = kai + a; bunbo = bunbo * 2; } alert("合計は" + kai+ "です"); } //--> </SCRIPT> </HEAD> <BODY> <H3>偶数の合計</H3> 以下のボタンをクリックすると、<BR> 1/(2のn乗)を合計した結果を表示できます。<BR> <BUTTON onclick="goukei()">計算結果</BUTTON> </BODY> </HTML> <!-- function goukei(){ var kai = 0; var bunbo = 2; var a; for (i=1 ; i<=10 ; i++){ a = 1 / bunbo; kai = kai + a; bunbo = bunbo * 2; } alert("合計は" + kai+ "です"); } //--> 学び始めたばかりで、初歩的な質問で申し訳ないのですが、 for (i=1 ; i<=10 ; i++){ 以下は、変数iを使っていないのに、どうしてiが使われているのでしょうか? 1/(2のn乗)を合計した結果を表示する問題です。2の1乗から2の10乗までです。 よく分かりません。回答お願いします。説教は不要です。

  • ソースが難しくて初心者にわかるようにどなたか教えて

    https://okwave.jp/qa/q9365480.html の続き 初心者なのでソースだけではわかりません。 もう少し具体的に何をやっているか教えていただければ幸いです。 >>> functionaddCR( obj ){ id=obj.id; strArray[ id - 0 ]+='\r\n'; alert(obj.parentNode.outerHTML) obj.innerHTML+='<br>'; } 恐らくここで、テキストをクリックしたとき、クリックした場所で改行されるようですが、もう少し初心者にわかるように解説いただけませんか? これは何を再代入しているのですか? id=obj.id; 変数A += 変数Bは、変数A = 変数B+変数Aなので、 配列になにかしているのですか? strArray[ id - 0 ]+='\r\n'; なぜこれでクリックしたところにbrがつくのでしょうか? obj.innerHTML+='<br>'; https://codepen.io/anon/pen/xLWmZv ソース <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>test</title> </head> <body> <textarea>ここに文章を入力してください</textarea> <button>表示</button> <button>出力</button> <textarea id="out" readonly></textarea> <div id="disp"></div> <script type="text/javascript"> varstrArray; functionaddCR( obj ){ id=obj.id; strArray[ id - 0 ]+='\r\n'; alert(obj.parentNode.outerHTML) obj.innerHTML+='<br>'; } functiondisp(){ var str=document.getElementsByTagName('textarea')[0].value; strArray=str.split(''); vardiv=document.getElementById('disp'); div.innerHTML=''; var aProto=document.createElement('a'); for( var i =0, len=strArray.length; i<len; i++ ){ vara=aProto.cloneNode(1); a.onclick=function(){ addCR(this); } a.innerText=strArray[ i ]; a.id=i div.appendChild(a); } } functionoutput(){ var outText=document.getElementsByTagName('textarea')[1]; outText.value=strArray.join("") } document.getElementsByTagName('Button')[0].onclick=function(){ disp() } document.getElementsByTagName('Button')[1].onclick=function(){ output() } </script> </body> </html>

  • formとalert

    javascript初心者です。 formを使ってテキストボックスに入力された文字をalertを使って表示させたいのですが、functionの中の記述がよくわかりません。 formを使った参考資料も見つからず質問するに至りました。 教えていただければと思います。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>練習</title> <script type="text/javascript"> </script> </head> <body> <form name="a">文字を入力: <input type="text"size="20" name="name1" ><br> <input type="button" name="name2" value="確認" onclick="alert(chk)"> </form> <script type="text/javascript"> function chk(){ var n=document.a.name1.value; alert(n); } </script> </body> </html>

  • JavaScriptの件

    初心者用JavaScriptの本で下記のソースを本の通り打ち込んだと思うのですが、何度打ちなおしても「ページにエラーが発生しました」が出てしまいます。どなたかどこが間違っているのか教えて下さい。よろしくお願いします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>関数の練習</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <SCRIPT language="JavaScript"> <!-- function kotae(){ var yama="富士山"; alert(yama); } //--> </script> </head> <body> <h3>問題</h3> 日本で一番高い山は? <BUTTON onClick="kotae()">答えを見る</BOTTON> </body> </html>

  • javascript関数呼び出し時の()について

    javascript関数呼び出し時に、 a関数があるとき、 a()をつけることで ・戻り値を代入するという意味になるということ ・関数自体を代入していますので、a関数を実行した戻り値を代入する ということを教えて頂きました。 また、()がないとき、aとした場合、 ・関数の登録だけがされる  ということを教えて頂きました。 (http://okwave.jp/qa/q7383010.html) しかし、以下ソースの場合、onclickには、 関数名pushを[onclick="push"]ではなく、[onclick="push()"]と記述しないと 正しく動作しませんでした。 私的には、 onclickには、「push関数を登録してクリックされたときにだけ動作させる = push だけでいいのではないのか?」 と考え、[onclick="push"][onclick="push()"]の二つのボタンを用意したのですが、 push()ボタン しか 正常に動作しませんでした。 なぜなのでしょうか? ()なしの、関数の登録だけがされる という内容を私は間違って捉えてしまっているのでしょうか。 ご教授お願いします。 以下ソース <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> <!-- function push(){ alert('ボタンが押されました'); } --> </script> <title>簡単実験</title> </head> <body> <h1>関数実験</h1> <hr> <input type="button" value="()ありボタン" onclick="push()"> <input type="button" value="()なしボタン" onclick="push"> </body> </html>

  • javascript + php でエラー

    エラーを取り除くことができず、困っています。 助けてください。 下記のようなコードで、PHPからjavascriptに文字列を渡しているのですが、 文字列に改行コードがあるとエラーになってしまいます。 (改行コードがない場合はエラーはでません) 文字コードはEUC-JP、改行はLFとしています。 エラーの原因と、対策を教えてください。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> <!-- function sampl(str) { alert(str); } //--> </script> </head> <body> <form method="post" action="#"> <?php $str = "テスト\n改行あり"; ?> <input type="button" value="実行" onClick="sampl('<?=$str?>')"> </form> </body> </html>

  • alert閉じた時、htmlに文章を追加表示したい

    下記プログラムは、自分の勉強用で作ったものですが、 解答ボタンを押して正解し、alertウィンドウを閉じた瞬間に 説明文のsm1,sm2,sm3をhtml上に追加表示するには どこをどう直したらいいのでしょうか? よろしくお願いいたします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script language="JavaScript"> <!-- var sm1; var sm2; var sm3; function kaitou1(){ if(document.myForm.ans1.value == "number"){ alert("正解です"); sm1 = "number型とは~"; }else{ alert("違います"); } } function kaitou2(){ if(document.myForm.ans2.value == "string"){ alert("正解です"); sm2 = "string型とは~"; }else{ alert("違います"); } } function kaitou3(){ if(document.myForm.ans3.value == "boolean"){ alert("正解です"); sm3 = "boolean型とは~"; }else{ alert("違います"); } } //--> </script> </head> <body> <p style="width:330px; padding:5px; background-color:#ddd">変数の基本的なデータ型には3つあります。<br> それら3つは何でしょう?<br> 下記○○に半角英数字で入力して下さい。</p> <form name="myForm"> <p>数値を表す○○型 ⇒  <input type="text" size="20" name="ans1"> <input type="button" value="解答" onclick="kaitou1()"> </p> <p>文字列を表す○○型 ⇒  <input type="text" size="20" name="ans2"> <input type="button" value="解答" onclick="kaitou2()"> </p> <p>真偽を表す○○型 ⇒  <input type="text" size="20" name="ans3"> <input type="button" value="解答" onclick="kaitou3()"> </p> </form> <script language="JavaScript"> <!-- document.write("<p>"+sm1+"</p>"); document.write("<p>"+sm2+"</p>"); document.write("<p>"+sm3+"</p>"); //--> </script> </body> </html>

  • アラートとストップウォッチを合体させたいのですが

    どのようにしたらいいのか分かりません。 ストップウォッチ.htm <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta content="text/html; charset=Shift_JIS" http-equiv=Content-Type> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>ストップウォッチ</title> <script type="text/JavaScript"> <!-- var a, b; var min, sec, cen, xmin, xsec, xcen; var hajime, ima, interval; var teishi; xmin=0; xsec=0; xcen=0; teishi=1; function dostart(){ if (teishi==1){ hajime=new Date(); a=hajime.getTime()-(xmin*60000+xsec*1000+xcen*10); count(); teishi=0; } } function count(){ interval=setTimeout("count()",10); ima=new Date(); b=ima.getTime(); min=Math.floor((b-a)/60000); sec=Math.floor(((b-a)%60000)/1000); cen=Math.floor((((b-a)%60000)%1000)/10); document.forms[0].elements[0].value=min; document.forms[0].elements[1].value=sec; document.forms[0].elements[2].value=cen; } function dostop(x){ clearTimeout(interval); xmin=eval(x.fun.value); xsec=eval(x.byo.value); xcen=eval(x.ika.value); teishi=1; } function doclear(){ clearTimeout(interval); xmin=0; xsec=0; xcen=0; document.forms[0].elements[0].value="0"; document.forms[0].elements[1].value="0"; document.forms[0].elements[2].value="0"; teishi=1; } function timeout(){ alert("10分経過しました。チネ!!"); } //--> </script> </head> <body bgcolor="#7fffd4" text="#000000" link="#0000ff" alink="#ff00ff" vlink="#00ffff"> <form action="this" method="post"> ストップウォッチ: <input size=3 name="fun" value="0">分 <input size=2 name="byo" value="0">秒 <input size=2 name="ika" value="0"> <br><br> <input type="button" value="スタート" onClick="dostart()" onKeyPress="dostart()"> <input type="button" value="ストップ" onClick="dostop(this.form)" onKeyPress="dostop (this.form)"> <input type="button" value="リセット" onClick="doclear()" onKeyPress="doclear()"> </form> </body> </html> アラート.htm <html> <head><title>テスト</title></head> <body onload=setTimeout('msgdsp()',600000)> <script language="JavaScript"> <!-- function timeout(){ alert("10分経過しました。"); } //--> </script> <input type=button value="スタート" onClick='setTimeout( "timeout()", 600000 )'><br><br> </body> </html> ・・・とそれぞれ作成しています。 ストップウォッチで「スタート」ボタンをクリックすると、ストップウォッチが走り、10分に差し掛かったところでアラートで「10分経過しました」と表示させたいのです。 どのようにすれば、2つの機能を同時に動かすことができるのか、ご教授いただきたいです。 環境はWindows XP、Internet Explorer7.0です よろしくお願いします。

  • ajaxでエラー処理

    お世話になります。 prototype.jsを使ってajaxのエラー処理を考えております。 そこで質問なのですが、以下のソースで OK.phpでは正常に処理が行われ、 NG.phpでは強制的にonFailure処理を行わせたいと考えております。 PHP側(NG.php)で、操作出来ませんでしょうか? よろしくお願いいたします。 <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script type="text/javascript" src="prototype.js"></script> <script type="text/javascript"> <!-- function ajax(fName) { var filename = fName + "?cache="+(new Date()).getTime(); new Ajax.Request(filename, { method: "get", onSuccess: displayData, onFailure: displayError }); } function displayData(httpObj) { $("result").innerHTML = httpObj.responseText; } function displayError(httpObj) { $("errMsg").innerHTML = httpObj.responseText; } // --> </script> </head> <body> <input type="button" value="正常処理" onClick="ajax('OK.php')"><br> <input type="button" value="エラー処理" onClick="ajax('NG.php')"><br> <div id="result"></div> <div id="errMsg"></div> </body> </html>

専門家に質問してみよう