JavaScript 注释

2023-12-24

有 JavaScript 注释吗?

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

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

Update: 现在有一个proposal https://github.com/wycats/javascript-decoratorsJavaScript 中正确的装饰器。目前是stage 1 https://github.com/tc39/ecma262你可以在 BabelJS 和 Traceur 中使用它。


一些库,比如之前提到的闭包,在注释中使用注释,闭包编译器 https://developers.google.com/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 构造函数并将函数解析为字符串),但这当然是可能的。它甚至可以在新的开发工具中进行调试,并且几乎与本机函数一样快。

建议的语法可以是:

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
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 注释 的相关文章

  • 如何从 JavaScript 中的字符串中删除空白字符?

    如何从 JavaScript 中的字符串中删除空白字符 修剪很容易 但我不知道如何将它们从inside字符串 例如 222 334 gt 222334 您可以使用正则表达式 如下所示来替换所有空格 var oldString 222 334
  • 如何按多个项目搜索/过滤列表?

    我正在寻找一个示例 或者可能是一个关于通过在文本框中输入的多个项目来过滤 搜索项目列表的方法的一点提示 假设我有一个列表 ul li Coffee li li Tea li li Milk li li Water li li Juice l
  • Java注释处理器:检查TypeMirror是否实现特定接口

    我正在使用 Java 注释处理器 我的注释 foo用于标记可以在运行时读取到文件或从文件中读取的字段变量 但是 我想检查变量类型是否实现Serializable在编译时 这样如果该字段不可序列化 我可以在编译时给出警告 错误 我不需要实际检
  • 我可以动态创建/销毁 Vue 组件吗?

    因此 我正在创建一个相当复杂的 Vue 应用程序 它从后端 API 获取数据并将其显示在前端 具体取决于用户选择的过滤器 它的默认设置是立即显示所有内容 然后一旦用户选择过滤器 它就会拉出不具有这些属性的 卡片 组件 直到今天 一切都很顺利
  • 如何将 Django 中的数组传递给模板并在 JavaScript 中使用它

    我想将数组传递给模板 然后通过 JavaScript 使用它 In my views py I have arry1 Str 500 20 return render to response test html array1 arry1 在
  • Sonar 中的 javascript 代码覆盖率

    我是使用 Sonar 和插件进行 javascript 代码覆盖的新手 使用 Sonar 分析时 有哪些可能性可以找出 javascript 代码的质量 包括代码覆盖率 目前我正在使用 karma runner 它提供代码覆盖率报告 可以在
  • 如何在 Sequelize ORM 中限制连接行(多对多关联)?

    Sequelize 定义了两种模型 具有多对多关联的 Post 和 Tag Post belongsToMany db Tag through post tag foreignKey post id timestamps false Tag
  • 在多个动态添加的表单上初始化 jQuery validate() 函数

    有人建议最好初始化一个 form validate 在页面加载而不是点击事件上运行 jquery form validate 插件仅允许在输入更改时提交 https stackoverflow com questions 10984196
  • 在动态创建的元素上添加事件监听器[重复]

    这个问题在这里已经有答案了 是否可以向所有动态生成的元素添加事件侦听器 Javascript 我不是页面的所有者 因此我无法以静态方式添加侦听器 对于页面加载时创建的所有元素 我使用 doc body addEventListener cl
  • React 应用程序中的 addEventListener 不起作用

    一些背景 我正在尝试消费自定义网络组件在 React 应用程序中并尝试监听来自 Web 组件的事件 我相信您不能只在自定义 Web 组件上以通常的反应方式处理事件 i e
  • 如何在php中使用一张图像绘制形状

    我需要使用图像的一部分来创建帧图像 例如 用户将从后端上传图像片段 现在我需要根据前端用户的要求在前端创建一个框架 用户将选择框架的高度和宽度 然后他将选择该图像片段 如下所示 我没有办法做到这一点 我尝试通过 css 和 html can
  • 限制 Dropzone 仅上传特定类型的文件

    我正在使用 Dropzone 上传文件 这是我的代码 div div
  • 使用 :hover 作为元素的内联样式(使用 HTML/CSS/php)[重复]

    这个问题在这里已经有答案了 可能的重复 如何将 a hover 规则嵌入到文档中间的样式属性中 https stackoverflow com questions 131653 how do i embed an ahover rule i
  • 避免在 ES6 的函数内定位 this 的对象作用域

    例如 我正在使用 D3 js 运行一个项目 导入特定模块并调用它们的函数 Setup TypeScript ES6 导入特定的 D3 组件 角6 我有一个对象 在本例中是一个角度指令 并在 SVG 画布上绘制一些圆圈 并希望它们在拖动事件上
  • @aspnet/signalr 与 @microsoft/signalr javascript 库

    aspnet signalr 与 microsoft signalr javascript 库有什么区别 两者似乎都对 DotNetCore SignalR 有效 两者似乎都很活跃 在一些教程中 我找到 aspnet signalr 在Do
  • JavaScript 提升解释

    下面的片段有什么区别 var a 0 function b a 10 return function a b console log a gt 10 and var a 0 function b a 10 return function a
  • Javascript onload 不起作用[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在使用
  • Django 将 JSON 数据传递给静态 getJSON/Javascript

    我正在尝试从 models py 中获取数据并将其序列化为views py 中的 JSON 对象 模型 py class Platform models Model platformtype models CharField max len
  • 搜索多维数组 JavaScript

    我有一个如下所示的数组 selected products 0 r1 7up 61 Albertsons selected products 1 r3 Arrowhead 78 Arrowhead selected products 2 r
  • 用javascript调用外部网页(跨域)

    我正在尝试使用以下网络服务来验证提要这个问题 https stackoverflow com questions 11996430 check if a url is a valid feed 但浏览器不允许我向另一台服务器发送 ajax

随机推荐

  • 使用 AlaSQL 和 JQuery 加载 CSV 文件

    我正在构建一个基于 HTML 的应用程序 用于使用 AlaSQL 查询导入的 CSV 文件 我开始于这个演示 http alasql org demo 008file 并尝试通过设置来实现相同的行为onChange事件通过 JQuery 而
  • 给定多个节点,求 AVL 树的最小和最大高度?

    给定一定数量的节点 是否有公式可以计算 AVL 树的最大和最小高度 例如 课本问题 3 个节点 5 个节点和 7 个节点的 AVL 树的最大 最小高度是多少 课本答案 3 个节点的 AVL 树的最大 最小高度为 2 2 5 个节点的 AVL
  • 如何在 IntelliJ 中配置 dagger

    我下载了 dagger 因为它似乎是 Android 中依赖注入的一个不错的选择 但我在集成编译器时遇到了一些麻烦 有关于正确设置的任何提示吗 我遵循了有关 android 注释的说明 因为这个项目似乎很相似 但这对匕首不起作用 我做了什么
  • 在 p:dataTable 上执行搜索后,p:dataTable 中的 p:fileDownload 不起作用(仅刷新页面)

    我有一个 JSF PrimeFaces Web 应用程序 在一页中
  • Eclipse 中的“与编辑器链接”功能有什么作用?

    我是 Eclipse 新手 也不了解 NetBeans 我正在阅读 eclipse 教程 但我很困惑 无法理解 与编辑器链接 到底是做什么的 Eclipse gt 帮助中说 选择本地工具栏或其中之一的视图菜单中的 与编辑器链接 按钮 导航视
  • 套接字传递十六进制值

    我正在尝试将套接字中的字符串值传递到另一台服务器 另一个服务器应该接收十六进制格式的值 即 如果我的字符串在服务器上是 s 600185838e 它应该收到 60 01 85 83 8e 但是我发送的这些值已转换为 ASCII 并且不是所需
  • 将文本输入放在单选按钮的标签内?

    我正在尝试创建一个指定一堆选项的单选组 以及一个带有要指定的文本输入的额外选项 其他 我正在使用的这个特定单选按钮的代码是
  • 静态成员中的通用参数声明

    为什么不允许定义这样的静态成员 private static final
  • 再次针对特定异常启用中断

    我是 Visual Studio 的新手 我现在正在编程 当我在 Visual Studio 的调试器中启动程序时 一切正常 当我按下一个按钮时 它集中了我的代码并弹出一个框 带有指向有错误的行的箭头 说明错误是什么 但我取消选中了上面的检
  • go 中定期运行一个函数

    我有一个这样的函数 func run cmd string byte out err exec Command cmd Output if error nil log Fatal err return out 我想以这种方式运行这个命令 r
  • 将 2 个嵌套数组合并为一个具有多个值的数组

    我有 2 个这样的嵌套数组 array 1 0 gt array 1 id gt 6 1 gt array 1 id gt 4 array 1 0 gt array 1 id gt 509 1 gt array 1 id gt 256 我正
  • 如何修复预期响应包含数组但获得对象 ANGular js

    我是新人 在调用服务后使用资源模块很难得到这个错误 任何人都可以修改我在代码中出错的地方 或者只是修改其中需要纠正的部分 谢谢 即将到来的数据格式 brands Array 1 0 Object v 0 id 5251a4a34f232fc
  • 配置文件与 gcc/g++ 和 ld 的链接时间

    我正在使用 g 编译和链接一个由大约 15 个 c 源文件和 4 个共享对象文件组成的项目 最近 链接时间增加了一倍多 但我没有可用的 makefile 的历史记录 有没有办法分析 g 以查看链接的哪一部分花费了很长时间 Edit 当我注意
  • 如何确定 PHP 字符串是否仅包含纬度和经度

    我必须使用可能包含纬度 经度数据的字符串 如下所示 query 33 805789 151 002060 query 33 805789 151 002060 query OVER HERE 33 805789 151 002060 就我的
  • 保存片段状态操作栏选项卡

    我正在构建一个由带有选项卡的操作栏组成的应用程序 每个选项卡都包含一个片段 其中一个片段有需要加载的数据 所以我希望数据只在第一次加载 当用户更改选项卡并返回到包含该片段的选项卡时 不会等待再次加载数据 我假设我必须使用某种方式保存数据 以
  • Java中用外国字符替换英文字符的方法?

    在 PHP 中我会使用这个 text Je prends une th chaud s il vous pla t search array etc replace array e i e etc text str replace sear
  • 对于英语单词来说,什么是好的哈希函数?

    我有一长串英语单词 我想对它们进行哈希处理 什么是好的哈希函数 到目前为止 我的散列函数对字母的 ASCII 值求和 然后对表大小取模 我正在寻找有效且简单的东西 简单地对字母求和并不是一个好的策略 因为排列会给出相同的结果 这个 djb2
  • 如何在 MVC 中创建启动屏幕

    我想在单击保存按钮时创建一个启动屏幕 显示消息 您的数据正在保存 请稍候 我使用 MVC 5 进行开发 下面我创建了一个div div style margin 0px padding 0px width 100 height 100 ba
  • 我应该为我的个人项目使用软件托管解决方案吗?

    现在 我将所有项目都保存在笔记本电脑上 我认为我不应该这样做 而是使用版本控制系统并从外部托管存储库 Google Code SourceForge 等 将它们签入 签出 我在这里看到了几个好处 首先 如果我的计算机崩溃和烧毁或者我的外部硬
  • JavaScript 注释

    有 JavaScript 注释吗 当然 JavaScript 没有它们 但是是否有其他库或建议的语言扩展 例如 type folder otherjsmodule foo function foo folder otherjsmodule