web-dev-qa-db-ja.com

Javascriptでこの欠落しているセミコロン構文エラーを修正するにはどうすればよいですか?

友人が私のためにいくつかのコードを書いたところ、奇妙な構文エラーのあるファイルが1つありました。少し探した後、エラーを再現するはずの次のコードセクションに絞り込みました。

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

say(say("Goodbye!"));

これを実行すると、Internet ExplorerコンソールにSCRIPT1004: Expected ';'。どこにも行方不明のセミコロンはありませんし、どこに配置したいか想像もつきません。

どこでセミコロンが期待され、なぜそこにセミコロンが期待されますか?

47
Peter Olson

あなたの問題は、関数のiがUnicode文字iであるという事実です。これを「通常の」iに変更すると、正常に機能するはずです。

しかし今、私はハックがどうすればいいのだろうと思います:)そこにユニコード文字を取得しました:P

unicode error in js

85
PeeHaa

「機能」のつづりを間違えました:)

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

say(say("Goodbye!"));

functіonを挿入しました:)

16
tftd

Notepad ++でコピーして貼り付けました。Notepad++でコードは次のようになります。関数キーワードを再入力すると、iに置き換えられます。

var say = funct?on(message) {
      alert(message);
      return message;
    };
    say(say("Goodbye!"));
7
The Alpha

コードをjsfiddleにコピーすると、Chromeもエラーになります。Wordの「関数」を削除し、「関数」を再入力すると、正常に機能しました。

そこに余分な文字が必要です。

6
Rocket Hazmat

実際、通常の「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 compare2() {
  return "function" == "function"
}
console.log(compare2())

0
goblin01

他の人の作業をデバッグするときに、同様の問題と同じエラーコードがありました。これを修正するために、コードのセクションをメモ帳に貼り付け、Visual Studioにコピーし直しました。エラーはなくなりました。コードを最初に書いた人は、どこかに奇妙な文字が含まれているどこかからコピーしたに違いないと思います。

0
Sturb