问题标签 [ecma262]
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 - 为什么 JavaScript 中不推荐使用 arguments.callee.caller 属性?
为什么arguments.callee.caller
JavaScript 中不推荐使用该属性?
它在 JavaScript 中被添加,然后被弃用,但 ECMAScript 完全省略了它。某些浏览器(Mozilla、IE)一直支持它,并且在地图上没有任何取消支持的计划。其他人(Safari、Opera)已经采用了对它的支持,但对旧浏览器的支持并不可靠。
是否有充分的理由将这个有价值的功能置于边缘?
(或者,有没有更好的方法来获取调用函数的句柄?)
javascript - Javascript/ECMAScript 中函数的范围是什么?
今天我和一位同事讨论了 Javascript 中的嵌套函数:
在这个例子中,试验指出 b 在 a 的主体之外是不可到达的,就像 c 一样。但是,d 是 - 在执行 a() 之后。在ECMAScript v.3 标准中寻找这种行为的确切定义,我没有找到我正在寻找的确切措辞;Sec.13 p.71没有说的是,函数声明语句创建的函数对象要绑定到哪个对象。我错过了什么吗?
javascript - JavaScript 中 [[Prototype]] 与原型的关系
来自http://www.jibbering.com/faq/faq_notes/closures.html:
注意:ECMAScript 定义了内部 Object 类型的内部 [[prototype]] 属性。这个属性不能被脚本直接访问,但它是在属性访问器解析中使用的内部 [[prototype]] 属性引用的对象链;对象的原型链。存在一个公共原型属性以允许与内部 [[prototype]] 属性关联的原型的分配、定义和操作。两者之间的关系细节在 ECMA 262(第 3 版)中进行了描述,超出了本讨论的范围。
两人的关系有哪些细节?我浏览了 ECMA 262,我读过的所有内容如下:
构造函数的关联原型可以被程序表达式constructor.prototype引用,
原生 ECMAScript 对象有一个称为 [[Prototype]] 的内部属性。此属性的值为 null 或对象,用于实现继承。
每个内置函数和每个内置构造函数都有 Function 原型对象,它是表达式 Function.prototype 的初始值
每个内置原型对象都有 Object 原型对象,它是表达式 Object.prototype (15.3.2.1) 的初始值,作为其内部 [[Prototype]] 属性的值,除了 Object 原型对象本身。
由此我收集到的是 [[Prototype]] 属性等效prototype
于几乎任何对象的属性。我弄错了吗?
javascript - Ecma-262 (EcmaScript 5) 将如何帮助您?
EcmaScript 第五版或Ecma-262已发布,其中包含对语言的一些更改。新版本中的哪些功能将帮助您编写更好的代码?
javascript - 哪些脚本语言类似于 ECMA?
我正在寻找一种 ECMAScript 替代方案来作为自定义应用程序逻辑的脚本语言。我喜欢 ECMA 的某些方面,尤其是新规范(如 AS3)的语法。
不幸的是,AS3 引擎不是开源的,无法集成到项目中。我想要一种专为面向对象使用而设计的脚本语言。
具体来说,是否有一种语言具有:
- 静态类型变量(可选)
- 类,包括公共/私人成员
- 继承,包括接口
- 套餐(可选)
- 简洁的语法
- 必须能够作为应用程序的内部脚本语言(如浏览器的 Javascript)进行接口,不能是外部系统调用。
我宁愿没有的事情
- 凌乱的 ECMA
prototype
对象
您知道哪些语言适合此配置文件?我很难找到一种为良好的面向对象设计而设计的优质脚本语言。
javascript - JavaScript 和 ECMAScript 有什么区别?
ECMAScript 和 JavaScript 有什么区别?根据我的推断,ECMAScript 是标准,JavaScript 是实现。这个对吗?
.net - ECMAScript 是否有任何 .NET CLR/DLR 实现?
有谁知道针对.NET CLR/DLR的 ECMAScript的真实(即没有蒸汽软件)实现?理想情况下,类似于Rhino 对 Java 的应用。在 .NET Framework / Mono Framework 上运行的可靠 Rhino 端口将是完美的。
我只见过少数提到的项目,但从未见过任何曝光或实际上我曾经能够运行脚本的任何项目。这是我已经知道的:
MSScriptControl ActiveX 控件:AFAIK,这是微软最后一个真正符合 ECMAScript 的实现(运行 JScript 5.7)。我已经与 MSScriptControl 集成,但不认为 COM 互操作是这个问题的答案。x64 是这个选项的杀手锏。
JScript.NET:我不算 JScript.NET,因为它永远无法成功解析我的任何真实脚本。关闭似乎有问题。
托管 JScript:听起来像我想要的,但它似乎已经死在水中了。这是 DLR 的一个主要示例实现,但随后与 SilverLight 纠缠在一起,并且自 2007 年以来似乎已不再是优先事项。有关此状态的可靠消息来源会有所帮助。
MyJScript:作为 DLR 的教程实现而构建。任何人都知道这是多么完整的实现?
Jint:.NET 的 JavaScript 解释器。
目前还不支持 Currying 或try
-catch
-finally
。.NET 的 RemObjects 脚本:一个有趣的竞争者仍在开发中。我对他们的营销方式感到困惑,不知道它实际上会是什么,但听起来它最终可能是合适的。如果有人对此有更多了解,那也会有所帮助。
V8 for .NET:如果有人将 V8 移植到 .NET,那就太好了。据我所知,这方面也没有很大的努力。该链接指向从托管 C++ 包装器调用它的想法。
作为背景,我希望能够从 .NET 中执行 JavaScript;即将一组脚本加载到上下文中并调用该上下文并检索执行结果。目前,我通过繁琐的 COM 互操作跳过箍来使用 MSScriptControl。COM 的不一致性使得部署和确保一致执行变得非常困难。
我希望能够从 .NET 中执行相当复杂的 JavaScript 测试工具。这不是用于创建用户宏或简单的小脚本;我需要一个真正的 JavaScript 环境,比如 Rhino。如果实现在 CLR(而不是 COM)之上运行,这将真正有助于解决当前的一些问题。
asp.net - 如何为客户端上的 CustomValidator 控件重写 ErrorMessage?
我有一个 CustomValidator 正在验证几个不同电话编号方案的电话号码。客户端 javascript 如下所示:
实际验证正确进行,并且 CustomValidator 始终具有正确的 IsValid 属性。然而,sender.errormessage 似乎在这个函数调用它的默认值之后被重写了。如何更改 errormessage 值,并使其“粘住”?
javascript - 哪些 (javascript) 环境支持 ECMAscript 5 严格模式?(又名“使用严格”)
在我撰写本文时, ECMAScript 5处于最终草案中;这是由于包含一个严格模式,它将阻止您分配给全局对象、使用 eval 和其他限制。(John Resig 的文章是一个很好的介绍。)
这种神奇的理智保存模式是通过在文件(或函数)的顶部包含字符串“use strict”来触发的。但是,在旧环境中,“use strict”是无操作的。如果您添加“使用严格”并且不在严格的环境中对其进行测试,您可能会留下一个不严格的代码的定时炸弹,当它真正遇到严格的环境时会中断。
哪些环境实际上尊重“使用严格”?