问题标签 [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.
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 构建它。
c++ - 是否允许在模板参数上使用 typedef
当我遇到这篇文章时,我正在阅读别人的代码(剥离到 MWE):
这里有一个typedef模板参数,它让 GCC 和 clang(有或没有-std=c++2a)抱怨:
test.cc:3:19: 错误: 'typedef R Test::R' 的声明阴影模板参数
但是,编译器资源管理器上的 ICC 和 MSVC都接受该部分。
我读过这个问题,建议 a typedefto self 通常是无操作的。但是,这里似乎并非如此。我也发现这个问题是相关的,但我认为它们应该不同,因为我们在这里使用的是typedef.
那么问题来了:
标准允许这种重新定义吗?该声明有任何副作用吗?为什么有人会这样写?