问题标签 [ecmascript-5]

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.

0 投票
2 回答
4184 浏览

javascript - 全方位的 JavaScript Date 对象?

我正在阅读有关各种实现中 JavaScript 日期对象的混合/最大值的信息。

Mozilla 文档说 JavaScript 支持 UNIX 时代的“ -100,000,000 天到 +100,000,000 天”。如果我的数学是正确的,这应该是两边的 8.64e15 毫秒。

微软 MSDN 说 JScript 支持 UNIX 时代的“大约 285,616 年”。

Google v8 的单元测试表明距纪元+/-1e8 天。

ECMAScript 5.1规定得更清楚一点

自 1970 年 1 月 1 日 UTC 以来,时间在 ECMAScript 中以毫秒为单位进行测量。在时间值中,闰秒被忽略。假设每天正好有 86,400,000 毫秒。ECMAScript Number 值可以表示从 –9,007,199,254,740,992 到 9,007,199,254,740,992 的所有整数;该范围足以测量从 1970 年 1 月 1 日 UTC 起大约 285,616 年(向前或向后)内的任何时刻的毫秒精度。

ECMAScript Date 对象支持的实际时间范围略小:相对于 1970 年 1 月 1 日 UTC 开始时的午夜,精确地测量 –100,000,000 天到 100,000,000 天。这为 1970 年 1 月 1 日 UTC 的任一侧提供了 8,640,000,000,000,000 毫秒的范围

我很好奇,有没有人知道实际上支持这个“距纪元 +/-1e8 天”范围的实现?

0 投票
4 回答
552 浏览

javascript - JavaScript 返回值

我正在学习 JavaScript 作为我的第一语言,就函数而言,我在这里得到了这个想法,但我不明白最后返回值的意义是什么。

它是干什么用的?

0 投票
3 回答
407 浏览

javascript - 是否有规范化 ECMAScript 5 的 JavaScript 项目

是否有 JavaScript 项目专注于普通浏览器中的原生规范化 ECMAScript 5?

作为参考,规范化这样的表:http: //kangax.github.com/es5-compat-table/

我知道添加一些 ES5 功能的包装器,如果它们存在,则回退到本机实现。但是我还没有看到一个只关注原生实现和规范化的项目。有什么想法吗?

0 投票
2 回答
22321 浏览

javascript - Object.keys() 复杂性?

任何人都知道 ECMAScript5 的 Object.keys() 在常见实现中的时间复杂度吗?是O(n)为了n钥匙吗?假设哈希实现,时间是否与哈希表的大小成正比?

我正在寻找语言实现者的保证或一些现实世界的基准测试。

0 投票
0 回答
370 浏览

javascript - 生成 JSON 以转换为 ECMAScript 5 Ready Consumption

在我的客户端/服务器 Web 应用程序中,我正在生成大型 JSON 字符串(使用 C# Web 服务中的 JSON.NET JToken 类),我通过 AJAX Get 请求将其传递给客户端。

我希望能够以 ES5 样式定义某些属性:prop: { value: '1', enumerable: false, writable: true },但有一个障碍。

首先,JSON.parse() 简单地将“可枚举”和“可写”属性解释为通用 JavaScript 对象上的通用属性。这可能是预期的和可取的行为,但是对于新的 ES5 属性属性,“解析”JSON 的可比方法是什么?

其次, Object.create() 有效,但它有一些限制。例如,

当然,这里的问题是"true" !== true,它指示Object.create()返回与 相同的对象JSON.parse()。此外,无论是因为对特定道具属性的真实评估,还是因为我试图创建特别大的对象,Object.create()似乎都非常脆弱。

有没有更好的方法以尊重 ES5 prop 属性的方式“解析”这些对象?

0 投票
5 回答
7381 浏览

javascript - Math.cos(Math.PI/2) 在 JavaScript & AS3 中返回 6.123031769111886e-17?

如果我理解正确,JavaScript 和 ActionScript 3 都适用于弧度。

因此,以下代码的预期输出将是:

这在 Firefox、Chrome、Safari 和 Flash Professional CS5.5 中的行为相同。我正在使用 Mac OS X 10.7.2。

测试:

http://jsfiddle.net/KA4VM/

0 投票
3 回答
1057 浏览

javascript - 什么是 ECMAScript “本机对象”?

根据ECMA-262,原生对象

ECMAScript 实现中的对象,其语义完全由本规范定义,而不是由宿主环境定义

内置对象定义为

由 ECMAScript 实现提供的对象,独立于宿主环境,在 ECMAScript 程序执行开始时出现。

附注

本规范中定义了标准内置对象,ECMAScript 实现可以指定和定义其他对象。 每个内置对象都是原生对象。

如果原生对象完全由 ECMA-262 规范而不是宿主环境定义,并且 ECMAScript 实现可以指定和定义新的内置对象,那么这些新的内置对象怎么可能是原生对象而不是原生对象?完全由 ECMA-262 规范定义?

我错过了什么?

0 投票
3 回答
1370 浏览

javascript - 对象和数组的 ECMAScript5 深拷贝

我希望找到一个示例代码来对 ECMAScript5 中的对象进行深度复制。

复制应该可以克隆

  • 嵌套对象

  • 嵌套数组

  • 数组中的嵌套对象(单独克隆每个数组项)

注意:jQuery.extend() 似乎无法处理案例 3)。另外,我希望在干净的 ECMAScript 中做到这一点。快速谷歌搜索并没有带来任何有价值的实现。

0 投票
3 回答
305 浏览

javascript - 主要浏览器中缺少对 ECMAScript/JavaScript 支持的区域列表?

是否有人知道主要浏览器(我说的是 IE7+、Firefox、Chrome、Safari 和 Opera)中缺少对 ECMAScript/JavaScript 支持的明确列表。

显然,我们在代码中进行了特征检测,但我想要一个我们需要在理想情况下执行检测的特征列表。

0 投票
1 回答
2892 浏览

javascript - 针对 ECMAScript5 新功能的 Polyfill 或变通方法?

我想用现在和将来都可以使用的新ECMAScript5 功能编写我的 JS 代码。

由于并非所有浏览器都支持所有功能(尤其是 IE),例如Object.createArray.isArrayJSON.

我知道一些解决方法,例如json2.js用于归档JSON支持。我想了解其他功能的更多 polyfill 或解决方法。