问题标签 [ecmascript-3]

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 投票
0 回答
53 浏览

javascript - 避免使用全局,创建变量

我在 Rhino JavaScript 引擎上使用 Ecmascript 3。该过程从连接远程服务器并从那里下载脚本开始。

我需要导入可以在 Linux 代理上运行的 JavaScript 库,如下所示:

因此,我的脚本代理尝试从服务器下载脚本文件,它需要导入我编写的所有库。

我已经尝试过使用延迟加载,但现在很难实现所有文件和想法,我该如何简化这个过程?

0 投票
1 回答
1207 浏览

javascript - 如何从特定类别中获取所有 Unicode 字符?

0 投票
2 回答
281 浏览

javascript - 如何将字符串转换为 JScript 对象数组

在 Javascript 中,我有一个字符串,需要将其转换为对象数组。

我需要能够遍历每个对象,并通过使用索引来获取 3 个属性。这将给出(对于第一个数组):

在我看来,这首先听起来很简单(并且可能是),但经过几次尝试,我仍然卡住了。

请注意,我不能使用 jQuery,因为运行的是非常旧的 Javascript 规范:“Microsoft JScript”,它符合 EcmaScript 3。

我谢谢你 ;)

0 投票
0 回答
60 浏览

javascript - 如何在 Android 4.4 (KitKat) 上的 Javascript 中获取对象的函数名称

我正在尝试在 Android 4.4(EcmaScript 3)上的 webview 中获取对象的函数名称,但没有成功。

Object.keys不工作,for (var x in obj)不工作。

对象本身的打印内容与{}打印一样返回JSON.stringify(obj)

我确实知道该对象包含一个open方法,因此obj["open"]function open() { [native code] }.

此外,该obj对象是一个 JavascriptInterface 对象(这就是它是本机代码的原因)。

有什么想法吗?

0 投票
2 回答
189 浏览

javascript - 将两个数组组合成对象数组,计算重复项

我正在尝试将两个数组组合成一个对象数组,我正在为此苦苦挣扎。

例子:

我希望将这两者结合起来的方式:

请注意,只有存储在 arr1 中的值应该被积分,任何 arr1 中不存在的 arr2 值都会被忽略。(在这个例子中,它是“d”)

同样重要的是要知道我将它用于 After Effect 的 Extendscript,这将我限制在 ECMA-262 标准的第 3 版,给我留下了很好的旧经典 javascript。concat、slice 和 join 等功能不可用。

我已经尝试过,但我想不通。我确信它可以通过阵列通过两个或三个智能循环来实现解决方案。

在此先感谢,西蒙

编辑:我没有在我的问题上添加自己的尝试,从而造成了混乱。对不起,我没有,我想了一夜,在火车上用手机写了这个问题。

我已经收到了令我非常高兴的惊人答案,只是为了证明我对我的问题没有恶意,我将发布我之前写的内容(不是简化,而是来自实际代码):

请注意,我并没有试图通过简单地询问你的答案而不试图弄清楚它,我只是出于某种原因无法理解它。

0 投票
1 回答
49 浏览

javascript - 以两种方式删除属性,但只有一种有效

delete从某个对象中删除属性。

在那里,当然,通过委托,我正在删除man1原型的属性,即constructor属性。好吧,至少这是我的意图。但是当我登录时,我仍然得到构造函数。

然而,这个问题是固定的,当

现在我得到的是空对象。正如我应该的那样。

我的问题是:为什么第二个解决方案有效而第一个无效?是因为委托吗?我听说有效的delete man1.constructor.prototype.constructor;方法使用“隐式”引用。这意味着什么?还有一件事。为什么我仍然变得空虚Object并且没有可用内存?

0 投票
1 回答
176 浏览

microsoft-edge - 垫片 ES3 到 ES7 ??? 像巴别塔之类的?

拜托我需要你的帮忙:

我有这个问题:我正在使用 asp.net 中的旧系统,这些 aspx 页面的 Javascript 是用 ES3 实现的,所以我无法在 Microsoft Edge (ES7) 上运行这些页面。我需要类似于 babel 的东西,但使用逆过程,我需要将 ES3 填充到 ES7,在这种情况下,我可以在 Edge 中运行我的旧 aspx 页面。有任何想法吗?

0 投票
0 回答
49 浏览

javascript - JScript(ES3,在 VBA 中的 ScriptControl ActiveX 对象中)是否支持创建不可枚举的参数?

如果我将一个属性/函数定义为一个对象原型(假设强制最终会导致每个变量都访问该属性/函数),那么......

然后我for..in在一个对象上运行枚举器,doFunc即使该对象的.propertyIsEnumerable('doFunc')计算结果为False

有什么想法吗?(这同样适用于 VBA 项目中 ScriptControl 对象的原生 ECMA Script 3/JScript。)

0 投票
1 回答
44 浏览

javascript - 格式化字段(详尽 & ES3)

我正在尝试在用户键入时实现详尽的字段格式(此处为比利时电话号码)。

这是代码:

我的客户要求我解决的问题是最终用户想要修改数字的一个或几个部分:01 234 55 67 89 => 01 222 55 67 89。

显然,用户可以通过鼠标单击或箭头键放置光标,但这会导致一些问题,因为验证是根据字段的长度完成的,这将比光标所在的位置长。

我如何改进此功能以考虑客户的要求并在全球范围内考虑?

先感谢您,

PS:这必须在 ES3 或 JQuery 2.1.3(最大)中完成,并且出于某种原因在 IE11 上工作......

Edit1:出于同样的原因,我不能使用 HTML5 输入模式。Edit2:我尝试实现正则表达式验证,因为它看起来很有希望,但我不知道如何有效地测试具有固定模式的变化字符串(当我键入时)。如果有帮助,当用户提交字段时,我的后端会执行以下测试:

var 模式 = /(+\d{2}){1}(46[0-1]|463|46[5-8]|47[0-9]|480|48[3-9]|49[ 0-9]){0,}(\d{2}){0,}(\d{2}){0,}(\d{2}){0,}/

0 投票
0 回答
197 浏览

excel - 在 VBA 中解析 Jscript ES3 中的 XMLHTTP responseText (HTML)

由于我不会让您感到厌烦的原因,我在 VBA 中使用 scriptcontrol JScript 对象来检索网页。我按如下方式执行此操作(在 32 位 Excel 中,对于 64 位,我使用 MSHTA 解决方法)。

现在这工作正常,返回的响应在 x.ResponseText 中,但是我如何在 HTML 文档中解析它,我可以从中获取特定的文档元素?JScript = ES3 并且没有 DOMParser、jquery 或标准 document.whatever。

我从https://johnresig.com/blog/pure-javascript-html-parser/添加了 John Resig 的纯 javascript HTML 解析器,虽然我可以添加代码 (S.Addcode),但在使用 HTMLToDom 时会出错;

我是否在这里遗漏了一些明显的东西,或者正在将 HTML 响应解析为 HTML 文档,我可以在其中检索 JScript/ES3 中不可能的特定元素?

谢谢你的帮助!