gpt4 book ai didi

javascript - MultiLineComment 的实现是否错误?

转载 作者:行者123 更新时间:2023-11-28 17:09:25 24 4
gpt4 key购买 nike

引用自 ECMAScript:

MultiLineComment ::
/* MultiLineCommentCharsopt */

MultiLineCommentChars ::
MultiLineNotAsteriskChar MultiLineCommentCharsopt
* PostAsteriskCommentCharsopt

PostAsteriskCommentChars ::
MultiLineNotForwardSlashOrAsteriskChar MultiLineCommentCharsopt
* PostAsteriskCommentCharsopt

MultiLineNotAsteriskChar ::
SourceCharacter but not *

MultiLineNotForwardSlashOrAsteriskChar ::
SourceCharacter but not one of / or *

如果我理解正确,那么像 /***//*/*/ 这样的记录应该会导致错误,但这种情况不会发生。为什么会发生这种情况?

P.S 我在 google chrome、firefox、opera 和 maxthone 中检查过此内容

最佳答案

/***/:

外部 /* ... */ 是 MultilineComment 的模式,因此内部 * 必须与 MultilineCommentChars 匹配。现在如果你看一下你会发现:

MultiLineCommentChars ::
* PostAsteriskCommentChars [opt]

实际上可以只是一个 *,因为以下部分是可选的(这就是 [opt] 的含义)。

/*/*/:

外部又是 MultilineComment 模式,/ 必须与 MultilineCommentChars 匹配,其作用如下

MultiLineCommentChars ::
MultiLineNotAsteriskChar MultiLineCommentChars [opt]

/是MultilineNotAsteriskChar的一部分。

现在整个部分只是为了防止 MultilineComment 内出现 *//**/*/ 无效,/*/**/ 不是。

关于javascript - MultiLineComment 的实现是否错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54867221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com