草庐IT

ecmascript-intl

全部标签

javascript - 带有 webpack 的 Intl.js polyfill/shim?

我正在使用React-Intl与webpack我需要Intlshim以支持Safari和IE,但我不想为已经支持Intlspec的浏览器加载它.polyfill非常大(900kb),我如何确保它只在不支持它的浏览器中加载? 最佳答案 您需要做一些事情。确保要求intl/Intl加载核心库而不是所有相关国家/地区。这会将库的大小从大约900kb减少到大约150kb。使用webpack的require.ensure或require([])函数仅在需要时动态要求Intl.js。这将为Intl.js文件创建一个单独的包,该文件将根据需要加载

javascript - 使用 ECMASCRIPT 6 生成器/函数对数组求和的最佳方法是什么

有没有更好的方法来代替使用生成器函数作为闭包来增加数组的值?varsumArrays=function(){varsum=0;returnfunction*(){while(true){vararray=yieldsum;if(array.__proto__.constructor===Array){sum+=array.reduce(function(val,val2){returnval+val2;});}elsesum=0;}};};vargen=sumArrays();//isthissteprequiredtomakeageneratororcoulditbedoneatle

javascript - 如何在 Firefox 和 Chrome 中使用 'let'(以及支持的 ECMAScript 6 功能)

使用let的ES6脚本如果在“usestrict”定义内,则在最新的Chrome稳定版中按预期运行。如果使用具有特殊类型的脚本标记加载它,它在Firefox中运行良好:但是具有这种特殊类型的文件现在无法在Chrome中运行!在Chrome中没有脚本运行:静默失败,没有控制台消息。什么是跨浏览器解决方案?(我想知道这是否可以在不转译的情况下完成。) 最佳答案 假设您可以控制脚本本身,最简单的解决方案是在脚本中设置一些全局变量,然后检查它是否存在。如果没有,请将此脚本元素替换为没有特殊MIME类型的元素,以便它可以在其他浏览器上运行。之

javascript - JavaScript (ECMAScript5) 严格模式是否提供了值得广泛使用的显着性能优势?

我正在阅读一些关于对JavaScript使用严格模式的文章,一般来说,这个想法似乎是将一组更严格的规则强加给编码器,以确保JS引擎可以更好地优化代码。它几乎感觉像是VisualBasic中“OptionExplicit”的JavaScript等价物。如果这基本上是对我的代码应用严格模式的净效果,那么性能差异是否值得出于习惯而不是个案应用?除了代码稳定性之外,还有其他值得考虑的优势吗?我想要将严格模式应用于我的脚本的一些关键原因是什么? 最佳答案 好吧,严格模式代码当然可以表现得更好,因为它消除了使优化更难的问题,例如,从我的脑海中:

javascript - 什么是 ECMAScript Editon 5.1,它有什么用?

我刚刚偶然发现了这个(在浏览ECMA网站时):http://www.ecma-international.org/activities/Languages/Draft%20Standard%20ECMA-262%205.1%20edition.pdf它说here5.1版将于2011年6月取代第5版。我的问题是:这个版本5.1是什么,为什么要发布它?(第5版有问题吗?)编辑:我发现了这个:ECMAScript5.1isamaintenancerevisionoftheECMAScript5specification.Itcorrectstechnicalandeditorialerror

javascript - Javascript/EcmaScript 3 是否支持 ISO 8601 日期解析?

您目前如何解析ISO8601日期,例如2010-02-23T23:04:48Z在JavaScript中?有些浏览器在使用下面的代码时会返回NaN(包括Chrome),不过FF3.6+可以。vard=Date.parse("2010-02-23T23:04:48Z");document.write(d);你可以在这里试试http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_parse 最佳答案 这是一个出色的实现,涵盖了边缘情况并回退到native实现。https://g

javascript - ECMAScript 中 Atomics 对象的实际用途是什么?

ECMAScriptspecification在24.4部分定义了Atomics对象。在所有全局对象中,这对我来说更加晦涩,因为在我没有阅读它的规范之前我不知道它的存在,而且谷歌也没有太多引用它(或者这个名字太过分了)非常通用,所有东西都被淹没了?)。根据其官方定义TheAtomicsobjectprovidesfunctionsthatoperateindivisibly(atomically)onsharedmemoryarraycellsaswellasfunctionsthatletagentswaitforanddispatchprimitiveevents因此它具有对象的形

javascript - 为什么 ECMAScript 第 4 版被完全废弃了?

我一直在寻找有关废弃的ECMAScript4thEdition的一些信息,但没有取得太大成功,即使是在SO上也是如此。我知道Mozilla的JavaScript1.7实现了第4版中提供的许多(全部?)新功能,我想我记得关于它的一篇很好的JohnResig帖子,但我现在似乎无法在他的博客上找到它。特别是,我想知道为什么它被完全废弃以支持ECMA-262第5版,以及为什么它没有得到改进。其中一些功能非常酷,例如生成器、迭代器、let、新赋值运算符和(我特别喜欢的)解构赋值。我知道所有这些特殊功能只会在具有过时ECMAScript实现的浏览器中抛出错误,但为什么不包括它们,因为总有一天这些实

javascript - 在 ECMAScript 中检查空字符串时,为什么我应该使用 string.length == 0 而不是 string == ""?

我当前项目的大多数开发人员使用(对我来说)奇怪的方式来检查ECMAScript中的空字符串:if(theString.length==0)//stringisempty我通常会这样写:if(theString=="")//stringisempty后一个版本对我来说更具可读性和自然性。我问过的人似乎都无法解释版本1的优点。我猜想在过去的某个时候有人告诉每个人这是这样做的方法,但现在那个人离开了,没有人记得为什么要这样做这样做。我想知道为什么我应该选择第一个版本而不是第二个版本?有关系吗,一个版本比另一个版本好吗?出于某种原因,一个版本是否更安全或更快?(我们实际上是在符合ECMAScr

javascript - 为什么 jQuery 的 $.type() 定义为返回 "object"而不是 "error"用于原生 ECMAScript 错误对象?

更新:我创建了一个工单:http://bugs.jquery.com/ticket/12191jQuery的$.type()函数返回对象的[[Class]]内部属性(小写)。例如:$.type({})//"object"$.type([])//"array"$.type(function(){})//"function"但是,它只适用于这些类型的对象:BooleanNumberStringFunctionArrayDateRegExpObject这段jQuery的源码指定://Populatetheclass2typemapjQuery.each("BooleanNumberStrin