Chrome 为什么“未捕获的SyntaxError:`return`语句中的标记“”无效或意外?[已关闭]

wgx48brx  于 2023-04-27  发布在  Go
关注(0)|答案(2)|浏览(98)

**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。

这个问题是由一个错字或一个无法再复制的问题引起的。虽然类似的问题可能是on-topic在这里,但这个问题的解决方式不太可能帮助未来的读者。
3天前关闭。
Improve this question
(最低限度的javascript经验)
源粘贴到Chrome JavaScript控制台:

(function doesIconExist() {
    var xPath = '//*[@id="downloadActivityIcon"]'
    var nodes = document.evaluate(xPath, document, null, XPathResult.ANY_TYPE, null);
    return (nodes.iterateNext() ? ‘present’ : ‘absent’);
}
 )();

控制台报告主题错误消息并链接到以下内容:x1c 0d1x--我把它作为一张图片贴出来,显示那条弯弯曲曲的红线。
我尝试将三进制条件转换为if语句:

if (nodes.iterateNext())
    return 'present' ;
return 'absent' ;

但是它产生了同样的错误,红色的波浪线从第一个return开始,在第一个'下面,并延伸通过分号。

rryofs0p

rryofs0p1#

正如@Pointy所发现的,return语句中的单引号是字处理中使用的倾斜类型。我不知道它们是如何变成这样的,但将它们纠正为正确的'单引号解决了这个问题。

k2arahey

k2arahey2#

您可以将```替换为'",代码可能如下所示:

(function doesIconExist() {
    var xPath = '//*[@id="downloadActivityIcon"]'
    var nodes = document.evaluate(xPath, document, null, XPathResult.ANY_TYPE, null);
    return (nodes.iterateNext() ? 'present' : 'absent');
}
 )();

我亲自尝试在我的控制台和它的工作。

相关问题