问题标签 [ecmascript-4]
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 - 在 ECMAScript 中检查空字符串时,为什么我应该使用 string.length == 0 而不是 string == ""?
我当前项目中的大多数开发人员使用(对我而言)奇怪的方式来检查 ECMAScript 中的空字符串:
我通常会写这个:
后一个版本对我来说似乎更具可读性和自然性。
我问过的人似乎都无法解释版本 1 的优点。我猜在过去的某个时候,有人告诉大家这是这样做的方法,但现在那个人离开了,没有人记得为什么要这样做方式。
我想知道为什么我应该选择第一个版本而不是第二个版本?重要的是,一个版本比另一个更好吗?出于某种原因,一个版本更安全还是更快?
(我们实际上在符合 ECMAScript 版本 4 的 Siebel eScript 中执行此操作)
谢谢。
javascript - 为什么 ECMAScript 第 4 版被彻底废弃?
我一直在寻找有关废弃的 ECMAScript 4th Edition 的一些信息,但没有取得多大成功,即使在 SO 上也是如此。我知道 Mozilla 的 JavaScript 1.7 实现了第 4 版中提供的许多(全部?)新功能,我想我记得 John Resig 的一篇不错的帖子,但我现在似乎无法在他的博客上找到它。
特别是,我想知道为什么它被完全废弃,取而代之的是 ECMA-262 第 5 版,以及为什么它没有得到改进。其中一些功能非常酷,例如生成器、迭代器、let、新赋值运算符和(我特别喜欢的)解构赋值。
我知道所有这些特定功能只会在具有过时 ECMAScript 实现的浏览器中引发错误,但是为什么不包括它们,因为有一天这些实现会少之又少?还有其他原因吗?我们是否可能会看到一些废弃的功能在未来的版本中重新出现,或者供应商是否害怕破坏兼容性,以至于我们可能永远不会看到对标准的这种改进?
顺便说一句,很高兴了解有关此事的一些意见,您是否对看到从第 5 版中删除的某些功能感到恼火,或者您认为这样更好?是否值得玩转 ECMAScript 4 的实现?
javascript - Javascript 可选类型提示
当编程语言是静态类型时,编译器可以更精确地分配内存,因此通常性能更高(在所有其他条件相同的情况下)。
我相信 ES4 引入了可选的类型提示(据我了解,由于 actionscript,Adobe 在其规范中发挥了重要作用)。因此,javascript 是否正式支持类型提示?ES6 会支持原生变量的可选类型提示吗?
如果 Javascript 确实支持类型提示,是否有任何基准可以显示它在性能方面的回报?我还没有看到一个开源项目使用它。
javascript - 如何使用 ECMA 脚本将图像文件上传到 SharePoint 2010 图片库
我需要使用java脚本将图像文件上传到sharepoint 2010图片库...
要求是——
1.我们有文件上传控制
2.并且,我们必须从该文件上传控件上传图像文件
请查看代码...但是此代码不起作用(显示“文件”或“文件信息”的“未定义对象”异常)
如果任何机构有更好的解决方案,那就太好了。
提前致谢。
javascript - 是否可以为不同的 Ecma 脚本版本测试 Javascript 代码?
我想要实现的是测试一段 javascript 代码,我必须看看它在不同版本的 Ecmascript 上的行为。
我可以在某种工具中切换版本并测试代码并查看其行为吗?
javascript - Siebel eScript 实际上基于什么标准?
根据Siebel 8.0 文档,eScript 符合 ECMAScript Edition 4 标准。但据我所知,没有发布这样的标准。第 4 版长期处于草稿状态,但从未发布。ECMA 的网站将第 4 版声明为“不存在”。我发现了一个问题,其中一些细节说明了问题。此外,在Siebel 8.1/8.2 文档中Oracle 完全删除了对 ECMA 标准的引用,现在我们回避“Siebel eScript 是一种在语法和语义上与 JavaScript 兼容的编程语言”。所以我的问题是:Siebel eScript 实际上基于什么特定标准?关于对语法/功能的支持,任何人都应该期待什么?它应该是试错法还是有一些起点?
免责声明:是的,我知道书架中有“Siebel eScript 语言参考”。我只想知道是否还有其他适用于 eScript 的 ECMAScript 或 Javascript 规范/参考。
javascript - ECMA 脚本 4 - 背后的故事是什么?
我正在研究 Java Script 的历史,并花了几个小时试图了解 ECMA Script 4 标准发生了什么。ES3 和 ES4 有什么区别?那么,它被遗弃的背后有什么故事呢?
谢谢
UPD:答案就在这里:为什么 ECMAScript 第 4 版被完全废弃了?
unicode - Unicode 5 与 Unicode 2 (ECMAScript 4) 有何不同?
请原谅,我真的需要知道合并的 Unicode 版本 (5) 在 ECMAScript 4 中是如何工作的。我只需要知道它是如何编码或解码的,或者 ECMAScript 4 使用哪种编码。我说的是用于字符串的字符代码(或代码点,我认为)的编码。
忠告:“ultrapasses”在这里的意思是“大于”,或者更远,例如。我认为它在英语中是有效的。
我基本上认为它是 UTF-16,但在我的测试中它超过了 U+10FFFF。我使用 ECMAScript 4 得到的最大字符代码,无一例外,是 U+FFFFFF,除了当我String.fromCharCode()
用来编码这个字符代码时,它会导致 U+1FFFFF(\u{...}
最多生成0xFFFFFF
不同的字符,但String.fromCharCode()
最多生成0x1FFFFF
不同的字符)。在 ECMAScript 6 代码点中,我能得到的最大值是 U+10FFFF,差别很小,而且由于它使用 UCS-2(至少在我的浏览器 Chrome 中),ECMAScript 6 生成更多的代码单元(一个代码单元 = 2 个字节),我猜 ECMAScript 6 在使用 UCS-2 编码代码点时有一个小故障(虽然这不是错误,只是一个小故障),如果你想知道,只需检查我的问题。
0xFFFFFF
是最大字符代码(或代码点......?)。为什么我认为它是 ECMAScript 4 中的字符代码?也许是因为 ECMAScript 6 中没有String#codePointAt
和String#fromCodePoint
like,它真的脱离了 UCS-2。首先让我向您展示一些使用 ECMAScript 4 的测试:
(是的,ECMAScript 4 从未存在,但草稿,包括一个未完成的用于评估 ECMAScript 4 的虚拟机。http: //ecmascript.org已关闭,但仍在http://archive.org上,所以我做了一个小副本在7Zip 文件中)
ECMAScript 4 概述没有进一步讨论这一点,它只提到它确实包含 Unicode 5,但没有包含编码。在这种情况下合并了哪种编码?通过上面的示例了解为什么String.fromCharCode(charCode)
与 Unicode 代码转义不同也会很高兴。\u{...}
javascript - 如何使用 JavaScript 从二维数组的行中获取所有值的组合?
我正在使用的二维数组的每一行都有不同的长度,例如:
二维数组中的任何行有时都可能为零。上面的数组只是一个例子。
我想做的是从每个人的每一行中获取一个值,用这些值做一些事情,然后得到另一个值的组合,等等。
例子:
这是我对代码逻辑流程的想法
恐怕整个代码太长了,并且在开关中有一些重复的代码。可以简化吗?
我确实看到了同样问题的帖子,我尝试了它的答案。不幸的是,我正在编码的平台(Fandom)不支持这个生成器功能。我问,它只支持 Javascript 到 ES3 或 ES4。
谢谢你看这个问题!