- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图让闭包编译器内联一些以简单模式封装在配置对象中的代码,而无需任何类型注释。 React does this并设法降低 bundle 大小
我观察到以下情况:
a.js
(function main() {
const config = {
log(m) {
console.log(m);
}
}
function reconciler(c) {
const log = c.log;
log('jere');
}
reconciler(config);
}())
编译时返回
a.min.js
(function() {
(function(a) {
a = a.log;
a("jere");
})({
log: function(a) {
console.log(a);
}
});
})();
并且,
b.js
(function main() {
const config = {
log(m) {
console.log(m);
}
}
function reconciler(c) {
const log = c.log;
c.log('here');
// log('jere');
}
reconciler(config);
}())
编译时给出,
b.min.js
(function() {
console.log("here");
})();
另一方面,
function main(){
const config = {
log: function log(m) {
console.log(m);
}
};
const log = config.log;
log('m');
log('m');
log('m');
log('m');
}
main()
给出
function main() {
console.log("m");
console.log("m");
console.log("m");
console.log("m");
}
main();
闭包编译器如何内联?有没有明确的方法让它成为内联包装函数?
更新: As suggested ,我使用了 --assume_function_wrapper
并且它更好地内联了代码。但是如果函数有返回值,CC 就无法内联。
(function main() {
const config = {
log(m) {
console.log(m);
}
}
function reconciler(c) {
const log = c.log;
log('jere');
return {
foo() {
// More side effects
}
}
}
reconciler(config);
}())
最佳答案
没有一个答案。编译器使用启发式和副作用计算来决定何时内联。与嵌套作用域相比,编译器在全局作用域中内联的可能性也较小。
关于javascript - 关闭编译器: How does it decided when to inline?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51383149/
Akka 新手。创建一个扩展 SupervisorStrategy 的新 Scala 类为我提供了以下模板: class MySupervisorStrategy extends Supervisor
Selenium Webdriver如何确定按钮是启用还是禁用?我用过isEnabled() 两个按钮的方法-一个启用,另一个禁用,但在两种情况下均返回true。除了使用isEnabled()之外,还
我试图让闭包编译器内联一些以简单模式封装在配置对象中的代码,而无需任何类型注释。 React does this并设法降低 bundle 大小 我观察到以下情况: a.js (function mai
我一直在尝试针对 Android 进行改造。响应为空。如果我的理解是正确的,这可能是因为 400 响应或我的模型类中的响应建模不正确。我得到的响应如下: {"itemA":"data", "itemB
我正在尝试使用 Accord 库实现的 k 最近邻。首先,我使用了 double[][] inputs = new double[15000][]; int[] out
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 8 年前。 Improve t
当我们使用 sadd 在集合中插入一个成员时,是否有一种确定的方式来插入数据?例如, 127.0.0.1:6380> smembers test 1) "hello world" 2) "hello"
我已经看过一些YOLO教程,但是我发现很难确定要分割图像的每个单元格的“ anchor ”框是否是预先确定的。在我经历的其中一个指南中,该图像被分为 13x13 单元格,并指出每个单元格预测 5 an
有没有办法在 Coq 中对相互递归类型使用决定相等策略? 例如,如果我有这样的东西: Inductive LTree : Set := | LNil | LNode (x: LTree) (y
我有几个类,例如 MyClassA MyClassB MyClassC 和 MyClassD 我想要一个给定 Class 类型的函数,该函数将创建(并执行任何操作......)一个作为该类实例的对象。
如何从以下 mysql 查询的 where 子句中引用 'decider'? SELECT *, CASE WHEN (cond1) THEN 1 W
我正在使用 C++ 中的 QuickFix 为代理 FIX 平台实现启动器端。他们的 FIX 规范提供了他们支持的消息列表;登录、心跳和其他消息。 MessageCracker(修复 4.2)为同一类
我正在尝试使用 Accord.NET 库进行对象分类,但我未能找到任何合适的示例,并且文档不足以理解该过程。我当前的代码是 Predictor = new Boost(); AdaBoost Algo
今天我在 msdn 中看到博客,我注意到如何计算算法的时间复杂度。我完全理解如何计算算法的时间复杂度,但最后作者提到了以下几行 Adding everything up I get (N+4)+(5N
随着我们的办公室升级到 Window 7,我的任务是更新登录脚本以与 Windows 7 一起使用。所述脚本的创建者早已不复存在,我不是批处理文件专家。 我要做的是确定操作系统。当我执行一些网络管理职
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
当我尝试在 Mac 上的 Andriod Studio 上运行该项目时,出现如下内部错误: Andriod Emulator closed because of an internal error:
我正在阅读一篇关于 Haskell 以及 HList 是如何实现的研究论文,并想知道所描述的技术何时可以确定,何时不能确定类型检查器。此外,因为您可以使用 GADT 做类似的事情,所以我想知道 GAD
我最近在一个用GCC 8编译的软件中研究了段错误。代码如下所示(这只是一个草图) struct Point { int64_t x, y; }; struct Edge { // some o
大多数句子分割器都能够在正确的位置分割文本流。 我正在寻找一个模型来决定某些文本是否是句子。 最佳答案 简单的解决方案:使用解析器(例如,Stanford Parser,它是免费的并且是Java的,但
我是一名优秀的程序员,十分优秀!