2012-02-12 21 views
37

友人が私のためにいくつかのコードを書いていて、奇妙な構文エラーを持つファイルが1つありました。Javascriptでこの欠落したセミコロン構文エラーを解決する方法を教えてください。

var say = functіon(message) { 
    alert(message); 
    return message; 
}; 

say(say("Goodbye!")); 

私はこれを実行すると、私はSCRIPT1004: Expected ';'を言うInternet Explorerのコンソールにエラーを参照してください。狩りのビットの後、私はエラーを再現する必要があり、コードのこのセクションにそれを絞り込みます。私はセミコロンがどこにも見つからないのを見ていないし、どこにセミコロンを置くのかわからない。

セミコロンはどこにありますか?セミコロンはどこにあるのでしょうか?あなたは、 "機能" をスペルミスしている

+1

'say(say(" Goodbye! "););'? – tftd

+2

Firebugでもエラーが発生します。http:// jsfiddle。net/AdHZY/ –

+1

@tftd:セミコロンは、行の最後にのみ表示する必要があります。それはエラーを引き起こすでしょう。 –

答えて

69

あなたの問題は、機能内のiがユニコード文字iであるということです。あなたが '普通の'に変更すると、それはうまくいくはずです。i

しかし、今、私はあなたがそこにUnicode文字を手に入れた:)ハックどのように思ったんだけど:P

unicode error in js

+1

私はそれが[this](http://en.wikipedia.org/wiki/Dotted_I_(キリル文字))文字だと思います。 –

+0

@Rocket yupです。文字 '456'。 – PeeHaa

+0

好奇心のために、何が間違っていたかを正確に把握するためにどうやって行ったのですか? – Jason

14

:)

var say = function(message){ 
    alert(message); 
    return message; 
}; 

say(say("Goodbye!")); 

あなたはfunctіonを挿入した:)

+0

''functіon "===" function "' –

+0

視覚的には、スペルミスはありません。 @Rocketが示唆しているように、文字の1つは変装の別のシンボルです。 –

+3

@Rocketは彼の場合ではありません。彼は普通のように見えるが、そうではない。私のIDEでもコードが赤く表示されます:) – tftd

6

を私はjsfiddleにあなたのコードをコピーして、Chromeはあまりにもエラーになります。私は "function"という言葉を削除し、 "function"をタイプし直し、うまくいきました。

追加文字が必要です。

+0

他の説明は理にかなっていません。 'function'を再入力するデモ:http://jsfiddle.net/AdHZY/1/ –

6

は、私がコピーされ、私のメモ帳++と、このようなあなたのコードを見て中にそれを貼り付けました私のメモ帳++、あなたのfunctionキーワードを再入力して、私は?に置き換えられます。

var say = funct?on(message) { 
     alert(message); 
     return message; 
    }; 
    say(say("Goodbye!")); 
+2

あなたは ' –

+0

はい、入力中に間違いをしてしまいました。申し訳ありません。ありがとう。 –

0

私は他の人の仕事をデバッグするときに同様の問題と同じエラーコードがありました。これを修正するために、コードのセクションをメモ帳に貼り付けて、それをVisual Studioに再コピーしました。エラーは消え去った。私は、コードを書いた人は、もともとどこかの奇妙な文字でコピーしていたに違いないと思います。

0

実際、通常の「i」ではなく「i」というユニコードを挿入しました。 私はVSCodeで仲間のエラーを取得:
',' expected. (1, 29)
',' expected. (2, 10)
Declaration or statement expected. (4, 3)
あなたにも"functіon" == "function"を評価しようとすることができます

function compare() { 
 
    return "functіon" === "function" 
 
} 
 
console.log(compare())

をしかし、私は図面でそれを比較しようとすると、 "function" myself:trueを返します。

function compare2() { 
 
    return "function" == "function" 
 
} 
 
console.log(compare2())

また、私は、彼らが必要としないJavaScriptで、ここにセミコロンが含まれていませんでした。

関連する問題