小编Sma*_* NE的帖子

29
推荐指数
3
解决办法
4420
查看次数

规范中"LexicalEnvironment"和"VariableEnvironment"之间的区别是什么?

我正在阅读ECMAScript 2015规范,并且多次使用术语"LexicalEnvironment"和"VariableEnvironment".它们在表23中定义:

LexicalEnvironment:标识用于解析此执行上下文中的代码所做的标识符引用的词法环境.

VariableEnvironment:标识其EnvironmentRecord包含由此执行上下文中的VariableStatements创建的绑定的词法环境.

执行上下文的LexicalEnvironment和VariableEnvironment组件始终是Lexical Environments.创建执行上下文时,其LexicalEnvironment和VariableEnvironment组件最初具有相同的值.

所以,我想知道它们将如何不同,以及每种情况都会被使用.有人可以解释一下吗?

javascript ecmascript-6

14
推荐指数
2
解决办法
691
查看次数

我们是否需要在应用程序中结合转换运行时和预设环境?

问题 1

我发现(webpack)包(输出)结果中有很多不必要的重复,具体来说,它们都是帮助器(如classCheckobjectSpread(由于对象扩展插件)。

所以,我想减少重复。如果它是一个库,当然,我将使用转换运行时插件(请参阅runtime-corejs3)来执行此操作。但是现在这是一个应用程序,那么正确的方法是什么?

因此我很困惑,因为该transfrom-runtime插件被推荐用于库(并且是为了整个减少。即core-jsregenerator和助手)。但在这里我只想减少助手重复,而不是其他重复,因为这babel/env.

所以在这里我想问/讨论的问题是是否有必要减少应用程序中helpers重复,如果是,以及如何减少?

问题2

另一个问题是,core-js/modules/es.promise.jscore-js-pure/modules/es.promise.js代码完全一样,主要区别只是前者有全局污染?如果是这样,为什么core-js不使用(直接导入)core-js-pure来填充然后将其添加到全局?IMO,这将大大减少重复,因为现在库使用transform-runtime(最终core-js-pure)但应用程序使用preset-env(最终core-js),应用程序和库之间没有共享/可共享代码,对吗?

javascript webpack babeljs

8
推荐指数
1
解决办法
1134
查看次数

为什么transform with transition 会导致整个页面重绘?

一、打开chrome devtools,触发

然后将鼠标悬停在第一个div,你会发现如果去掉transition属性,只重绘第一个div,但是如果添加transition属性,整个页面都会重绘,有没有人可以解释一下?

div {   
  width: 100px;   
  height: 100px;
}

div:first-child {   
  margin-bottom: 100px; 
}

div:first-child:hover {   
  transform: scale(1.4);   
  transition: all .3s;   
  background-color: red; 
}
Run Code Online (Sandbox Code Playgroud)
<div> 11111111111111111 </div>
<div> 222222222222222222 </div>
Run Code Online (Sandbox Code Playgroud)

JSFiddle 演示:https ://jsfiddle.net/heaven_xz/4q2kgr2g/5/

html css google-chrome css-transitions

4
推荐指数
1
解决办法
2562
查看次数