问题标签 [noop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
29 浏览

javascript - jQuery noop 导致 JS 缩小以删除 .NET Framework 4.8 Web 应用程序中的代码

当我发布我的 .NET 应用程序时,我的 JS 文件之一没有正确缩小。我在文件中有几百行代码,但在该过程完成后最终得到了一个近乎空的函数。我已经完成了它并确定它取决于$.noop我使用的一个,没有它这个过程可以正常工作。为了证明这一点,我将其分解为一个简单的示例,显示它如何影响文件。

缩小后,调用Test被删除,如图所示:

但是,如果我删除该$.noop函数并添加一个空函数,如下所示:

然后我得到所需的缩小版本:

在真正的应用程序中,由于它不包括等效Test功能,我丢失了数百行代码。有人可以解释为什么 using$.noop会阻止它工作,但初始化为空函数或 null 有效吗?它是一个 .NET 4.8 Web 应用程序,它使用 jQuery 3.3.1,我使用 Visual Studio 2019 构建它。

0 投票
1 回答
74 浏览

c++ - 是否允许在模板参数上使用 typedef

当我遇到这篇文章时,我正在阅读别人的代码(剥离到 MWE):

这里有一个typedef模板参数,它让 GCC 和 clang(有或没有-std=c++2a)抱怨:

test.cc:3:19: 错误: 'typedef R Test::R' 的声明阴影模板参数

但是,编译器资源管理器上的 ICC 和 MSVC都接受该部分。

我读过这个问题,建议 a typedefto self 通常是无操作的。但是,这里似乎并非如此。我也发现这个问题是相关的,但我认为它们应该不同,因为我们在这里使用的是typedef.

那么问题来了:
标准允许这种重新定义吗?该声明有任何副作用吗?为什么有人会这样写?