【发布时间】:2010-09-11 08:19:31
【问题描述】:
首先:我使用了一个相当晦涩的嵌入 javascript 实现作为 Adobe InDesign CS3 的脚本引擎。此实现有时与“标准”javascript 不同,因此是我的问题。
我正在使用John Resig's jsdiff library (source here) 来比较两个文档之间的文本选择。 jsdiff 使用 vanilla 对象作为关联数组来将文本中的单词映射到另一个对象。 (参见 jsdiff.js 中的“ns”和“os”变量,第 129 行左右。)
当文本中出现“反映”这个词时,我就开始头疼了。 “反射”是所有对象的默认只读属性。当 jsdiff 尝试将关联数组上的值分配给 ns['reflect'] 时,一切都会爆炸。
我的问题:有没有办法解决这个问题?有没有办法在 javascript 中做一个哈希表而不使用明显的 vanilla 对象?
基本规则:切换脚本引擎不是一种选择。 :)
【问题讨论】:
标签: javascript hash diff adobe-indesign