gpt4 book ai didi

javascript - 阅读 Javascript 注释

转载 作者:行者123 更新时间:2023-12-02 15:02:19 24 4
gpt4 key购买 nike

虽然 Javascript 注释(实际上是一般注释)的要点是它们被编译器解析,但我想知道是否有一种方法可以使用 Javascript 实际读取注释 - 即

/* Hello, world! */
function readComment() {
alert(readsTheCommentSomehow()) //Would alert "Hello, World!"
}

类似的用例类似于 Javadoc ,或者一些更酷的东西,比如让代码根据上面的注释来改变它的功能。我确信还有其他原因想要这样做。

到目前为止,我考虑这样做的唯一方法是实际上(以某种方式)让 Javascript 读取自己的代码,并按 /*\n, //, */ 并以这种方式返回注释。

这真的是解决这个问题的最佳方法吗?还是我错过了什么?

最佳答案

您可以使用像 babel 这样的 AST 解析器和转换器来读取和更改您的代码。以下是关于如何根据您的评论读取和更改旅游代码的简单而幼稚的示例:http://astexplorer.net/#/5ezZ2lwYHQ

原始代码:

// does something
// and other stuff
function doSomething() {
console.log('hello');
}

babel ast 变压器:

export default function ({types: t}) {
return {
visitor: {
FunctionDeclaration(path) {
if (path.node.leadingComments) {
const text = path.node.leadingComments.map(comment => comment.value).join('\n');
const change = t.expressionStatement(
t.callExpression(
t.memberExpression(t.identifier('console'), t.identifier('log')),
[
t.stringLiteral(`Function has comments:${text}`)
]));

path.node.body.body.unshift(change);
}
}
}
};
}

关于javascript - 阅读 Javascript 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35347182/

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