我在 Dart 中构建了两个 JS 对象。在 JS 中,它们是用 Object.create() 构造的:
var wavesurfer1 = Object.create(WaveSurfer);
var wavesurfer2 = Object.create(WaveSurfer);
这就是我认为的 Dart 等价物:
var wavesurfer1 = context['WaveSurfer'];
var wavesurfer1 = context['WaveSurfer'];
但是,我发现 Dart 中的两个对象看起来是一样的。当我在一个对象中调用一个函数时,它会同时在两个对象中触发。这不会发生在 JS 代码中。我怀疑 Object.create() 不应该在 Dart 中写为 context[''] 。如果这是真的,我无法在 dartlang.org 或 stackoverflow.com 中找到有关如何将此表达式正确转换为 Dart 的示例。您可以在此处查看 WaveSurfer 的 JS 源代码。