首先:我正在使用一个相当晦涩的嵌入 javascript 实现作为 Adobe InDesign CS3 的脚本引擎。这种实现有时与“标准”javascript不同,因此是我的问题。
我正在使用John Resig 的 jsdiff 库(来源此处)来比较两个文档之间的文本选择。jsdiff 使用 vanilla 对象作为关联数组来将文本中的单词映射到另一个对象。(参见 jsdiff.js 中的“ns”和“os”变量,第 129 行左右。)
当文本中出现“反射”这个词时,我的头痛就开始了。“反射”是所有对象的默认只读属性。当 jsdiff 尝试将关联数组上的值分配给 ns['reflect'] 时,一切都会爆炸。
我的问题:有没有办法解决这个问题?有没有办法在不使用明显的香草对象的情况下在 javascript 中做一个哈希表?
基本规则:切换脚本引擎不是一种选择。:)