草庐IT

es-head插件

全部标签

javascript - ES6 全局符号是否被垃圾收集?

ES6符号的无上限动态创建是否会导致不可恢复的内存使用?在Erlang(以及以前的Ruby)中,原子/符号的创建不会被垃圾收集。似乎在全局符号注册表(Symbol.for('string'))中创建的符号无法被垃圾收集并保持全局唯一性,但我可能遗漏了一些东西。在我看来,这似乎不是由ES6规范规定的。 最佳答案 符号是原语并不意味着它们不能使用引用和分配来实现。想想js中的原始字符串。浏览器可能会以这种方式实现符号,使它们受gc的约束。在chrome中快速测试for(;;)Symbol();(不要运行它)会导致锯齿状内存配置文件,因此

javascript - 如何使用 TypeScript 编译器 (TSC) 解析 Node.js ES6 (ESM) 模块。 TSC 不发出正确的文件扩展名

我正在尝试将我的TypeScript项目转换为JavaScript,但是,似乎有些不对劲。我将项目配置为通过"module":"ES6"解析为ES6模块(又名ESM)设置,但不能解决问题。这就是我的tsconfig.json配置如下:{"compilerOptions":{"module":"es6","target":"es6","lib":["es6"],"sourceMap":true,}}使用一对模块的测试用例:我使用两个模块编写了一个简单的测试用例senario。第一个模块—module1.ts—只导出一个常量,如下所示:>exportconsttestText="Itwor

javascript - 将功能封装在 jQuery 插件或 vanilla JavaScript 函数中哪个更好?

假设我有一些JavaScript可以修改DOM,也许可以隐藏/显示表单字段或类似的东西,假设我想在多个页面上执行此任务,但每个页面只执行一次或两次。将此功能封装到jQuery插件或vanillaJavaScript函数中哪个更好?本质上,是这样的:jQuery.fn.toggleFormInput=function(){//StunningJavaScript/jQuerymagichere}比这更好或更差:functiontoggleFormInput(){//StunningJavaScript/jQuerymagichere} 最佳答案

javascript - CKEditor autogrow插件垂直滚动条闪烁问题

我在使用CKEditor自动增长插件时遇到问题:按下回车键(在自动增长超过最小高度后),文本内容会抖动(向上跳一行然后又向下跳),垂直滚动条时而闪烁。自动增长有效,但用户体验不稳定。我可以通过指定scrolling="no"和overflow="hidden"隐藏垂直滚动条,但文本内容仍然抖动。我在ckeditor.js中禁用滚动:CKEditor初始化代码:CKEDITOR.replace('Description',{sharedSpaces:{top:'topSpace',bottom:'bottomSpace'},extraPlugins:'autogrow,tableresi

Javascript/jQuery 插件

它不是一个真正的jQuery插件,但对于我的问题,我不知道什么标题是合适的。这是“插件”-->http://jsfiddle.net/djrikyx/GuumY/9/有3个Youtube播放器,可以将它们弹出到可拖动的DIV中,也可以将它们最小化到右侧。我不能只用文字来解释我的问题,你必须看到它才能更好地理解。首先,弹出所有3个玩家,然后将他们最小化,他们会在右边,一个在前一个下面。然后,如果您尝试关闭或最大化中间或最后一个,您会看到所有内容都会增加30像素。我知道现在正在这样做,因为我在函数maximizePlayer()和popinPlayer()中使用varcountMP=$('

javascript - Aptana 支持 ES6 吗?

AptanaStudio提示我在JavaScript代码中使用function*和yield时出现语法错误。这些是ES6的特性。是否可以配置Aptana以接受它们? 最佳答案 不,Aptana不支持ES6(也不支持JSX)并且没有可用的插件来支持它。Aptana兼容所有Eclipseplugins.插件“EnideStudio2015”标有ES6,这是虚伪的,因为据我所知,它唯一能告诉我们的是它启用了const关键字的一个子集。没有别的。要安装插件(这对您没有帮助),请访问插件页面,然后将“安装”按钮拖到您的Aptana编辑器中。

javascript - 令人困惑的 es6 import -> export 语句

这是有效的javascript吗?它没有错误,而且似乎有效。export{defaultasChooser}from"./chooser";我的解释是:importdefaultfrom./chooser"export#1的结果asChooser这是正在发生的事情吗? 最佳答案 IsthisvalidJavaScript?是的。Isthiswhatishappening?是的。 关于javascript-令人困惑的es6import->export语句,我们在StackOverflow上

JavaScript ES6 模块 + traceur

我正在使用ES6modules使用traceur转译为ES5.转译是通过grunt+grunt-traceur完成的Traceur允许您选择使用哪个模块处理程序:它自己的、AMD、commonJS或内联。我已经尝试了其中的大部分,但似乎都不起作用。为什么?TestClass.jsexportdefaultclassTestClass{constructor(){alert('test');}}Main.jsimportTestClassfrom'./TestClass';vartest=newTestClass();Gruntfile.js(提取)traceur:{options:{e

javascript - ES6 模块拼接

在JavaScriptES6中开发一个web项目,我目前使用Traceur将我的模块从ES6编译到ES5,认为将来当浏览器支持ES6时,我将能够跳过该转换步骤。最后,因为我不想在启动时下载多个js片段,我有一个包含我所有转换为ES5的模块的文件,感谢Traceur。但是为了验证这个选择,我想知道在我将源代码保留在ES6中的那一天这是否仍然可行。如果我简单地连接它们,将会出现无效导入和名称冲突。看起来它不是为它设计的,它需要额外的处理步骤才能正确合并它们。我们应该如何处理定义了多个模块的ES6单文件项目? 最佳答案 这将通过捆绑解决,

javascript - 如何使用 ES6 模块语法(解构)导入属性?

importutilityRemovefrom'lodash/array/remove';importutilityAssignfrom'lodash/object/assign';importutilityRandomfrom'lodash/number/random';importutilityFindfrom'lodash/collection/find';importutilityWherefrom'lodash/collection/where';letutil;util={};util.remove=utilityRemove;util.assign=utilityAssi