当前位置:  开发笔记 > 编程语言 > 正文

什么是避免对象命名空间冲突的javascript哈希表实现?

如何解决《什么是避免对象命名空间冲突的javascript哈希表实现?》经验,为你挑选了1个好方法。

首先:我使用了一个相当模糊的javascript嵌入式实现作为Adobe InDesign CS3的脚本引擎.这种实现有时偏离"标准"javascript,因此我的问题.

我正在使用John Resig的jsdiff库(源于此处)来比较两个文档之间的文本选择.jsdiff使用vanilla对象作为关联数组,将文本中的单词映射到另一个对象.(参见第129行附近的jsdiff.js中的"ns"和"os"变量.)

当文本中出现"反映"这个词时,我的头痛开始了."reflect"是所有对象的默认只读属性.当jsdiff尝试将关联数组的值分配给ns ['reflect']时,一切都会爆炸.

我的问题:这有什么方法吗?有没有办法在不使用明显的vanilla对象的情况下在javascript中执行哈希表?

基本规则:切换脚本引擎不是一种选择.:)



1> delfuego..:

你可能会"提出错误的问题"(正如Raymond Chen所说); 而不是试图避免使用vanilla对象,尝试更改关联数组成员的命名方式.

我试图接近这个的方式:而不是有一个数组成员ns ["reflect"],改变jsdiff构建数组的方式,以便成员是ns ["_ reflect"]或其他一些变体.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有