如何在Javascript中修复此缺少的分号语法错误?

时间:2012-02-12 02:56:45

标签: javascript internet-explorer syntax-error

一位朋友为我写了一些代码,并且有一个文件中有一个奇怪的语法错误。经过一些搜索后,我将其缩小到这部分代码,它应该重现错误:

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

say(say("Goodbye!"));

当我运行此操作时,我在Internet Explorer控制台中看到一条错误SCRIPT1004: Expected ';'。我没有看到任何地方丢失分号,我无法想象我想把它放在哪里。

它期望分号在哪里?为什么它会在那里分号?

7 个答案:

答案 0 :(得分:79)

您的问题是函数中的i是unicode字符i。如果您将其更改为“正常”i,它应该可以正常工作。

但现在我想知道黑客:)你在那里得到一个unicode角色:P

unicode error in js

答案 1 :(得分:15)

你拼错了“功能”:)

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

say(say("Goodbye!"));

您已插入functіon:)

答案 2 :(得分:6)

我将您的代码复制到jsfiddle中,而且Chrome也会出错。我删除了“功能”这个词,并重新输入了“功能”,它运行正常。

那里必须有一些额外的角色。

答案 3 :(得分:6)

我已经在我的记事本++中复制并粘贴了它,你的代码在我的记事本++中看起来像这样,重新输入你的函数关键字,我被替换为?。

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

答案 4 :(得分:0)

调试别人的工作时,我遇到了类似的问题和相同的错误代码。为了解决这个问题,我将代码段粘贴到记事本中,然后将其重新复制回Visual Studio。错误消失了。我认为最初编写代码的人必须从某个地方复制它,其中包含一些奇怪的字符。

答案 5 :(得分:0)

事实上,你插入了unicode" 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())



但是,当我尝试通过绘制"功能"来比较它时我自己:它返回true;



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



另外,我在这里没有包含分号,在javascript中它们是不必要的。

答案 6 :(得分:0)

通过以下页面验证:https://r12a.github.io/uniview/?charlist=funct%D1%96on(message)

它显示每个字符的信息。

enter image description here