【问题标题】:Javascript Object vs JScript DictionaryJavascript 对象与 JScript 字典
【发布时间】:2009-06-04 14:13:49
【问题描述】:

Javascript 对象和 JScript 字典都是关联数组

obj = new Object ;
dic = new ActiveXObject("Scripting.Dictionary") ;

我的问题是......它们在效率(空间或时间)方面有什么区别吗??
在功能方面,我知道 Dictionary 更好,因为它允许的不仅仅是标量类型作为键。但抛开这一点不谈,哪个更好/更快?

编辑:
这是用于 Windows 脚本,而不是用于 Web 开发。

EDIT2:
我对查找效率特别感兴趣,因为我需要处理大集合。

【问题讨论】:

    标签: javascript scripting associative-array jscript wsh


    【解决方案1】:

    从这个文档中可以看出,使用 Dictionary 查找更快;但是插入速度较慢。

    http://www.4guysfromrolla.com/webtech/100800-1.2.shtml

    【讨论】:

      【解决方案2】:

      Scripting.Dictionary 是一个 COM/ActiveX 组件(可用于任何 MS 脚本语言)。

      我不推荐它,因为每次访问它时,都会调用 COM 组件,这非常慢。

      但是如果你需要它的功能,你可以使用它,但要注意它只适用于IE...

      【讨论】:

      • 问题标签指定它是在WSH中运行的,所以只有windows,没有浏览器......
      • 稍微扩展一下 - Scipting.Dictionary 不是 JavaScript,它只是在 IE 中有一个 JavaScript 接口。
      • 只是说我认为重要的是要注意 IE 部分,仅适用于阅读此内容而没有注意到 WSH 的任何人(就像我一样:P)
      【解决方案3】:

      Javascript 对象是执行引擎中固有的; Scripting.Dictionary 是一个对每个操作进行互操作调用的 COM 对象。

      对于 javascript 中的任何内容,我倾向于使用引擎内类型,除非我非常需要基于其他具有良好相等语义的 COM 对象的查找...

      【讨论】:

      • 搜索时间呢?我在考虑非常大的数组,其中搜索给定键值对所花费的时间是最重要的因素。
      • 这取决于我是在键上运行循环还是进行查找。如果您的用例由于您正在扫描的数据集的大小而存在性能问题,则可能脚本语言不是您想要的。
      猜你喜欢
      • 2011-07-06
      • 2014-01-26
      • 1970-01-01
      • 2016-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多