一位朋友为我写了一些代码,并且有一个文件中有一个奇怪的语法错误。经过一些搜索后,我将其缩小到这部分代码,它应该重现错误:
var say = functіon(message) {
alert(message);
return message;
};
say(say("Goodbye!"));
当我运行此操作时,我在Internet Explorer控制台中看到一条错误SCRIPT1004: Expected ';'
。我没有看到任何地方丢失分号,我无法想象我想把它放在哪里。
它期望分号在哪里?为什么它会在那里分号?
答案 0 :(得分:79)
您的问题是函数中的i
是unicode字符i
。如果您将其更改为“正常”i
,它应该可以正常工作。
但现在我想知道黑客:)你在那里得到一个unicode角色:P
答案 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())

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

答案 6 :(得分:0)