gpt4 book ai didi

JavaScript 注释

转载 作者:IT王子 更新时间:2023-10-29 03:09:36 27 4
gpt4 key购买 nike

是否有 JavaScript 注释?

当然 JavaScript 没有它们,但是是否有额外的库或建议的语言扩展,例如

@type {folder.otherjsmodule.foo}
function(){
foo = folder.otherjsmodule.foo();
...
return foo;
};

最佳答案

更新:现在有一个proposal在 JavaScript 中使用适当的装饰器。目前是stage 1你可以在 BabelJS 和 traceur 中使用它。


一些库,比如前面提到的闭包在注释中使用注释,closure compiler甚至在编译时尽可能多地断言类型。然而,这些并不是经典意义上的实际“注释”。

与“显而易见”的答案不同——是的,有 JavaScript 注释,一些运行时支持它们。

例如

(function(){
"use strict";
//code in strict mode
})();

这将导致函数内部执行严格模式。最近在 Mozilla 中我们得到了:

(function(){
"use asm";
//code in asmjs
})();

这将导致代码以 asmjs 模式运行,优化转译。

我可以在我的库中使用这些注释吗?

是的,虽然面向方面的编程和注解在 JS 中很不常见,但完全有可能编写一个接受函数的库,查看它的 .toString,找出这些注解在哪里结束并执行相关代码,然后是函数的其余部分。

例如

an(function(){
"validate user"; // this could be something you implement yourself
"use strict";
})();

创建一个执行此操作的库非常简单,它需要一些讨厌的代码(使用 Function 构造函数并将函数解析为字符串),但这当然是可能的。它甚至可以在新的开发工具中进行调试,而且几乎与 native 函数一样快。

建议的语法可以是:

an.add("assertEmail",function(x){
if(!emailRegex.test(x){
throw new Error("Invalid call to function - expected email got",x);
}
});

// later on

an(function subscribeToNewsLetter(x){
"assertEmail";
var xhr = new XMLHttpRequest();
//send email
});

关于JavaScript 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17065949/

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