我有需要翻译成 Dart 的 js 代码:
(function() {
var s, e;
s = document.createElement("script");
s.src = “//someurl.com/somefile.js";
s.async = true;
e = document.getElementsByTagName("head")[0];
e.insertBefore(s, e.firstChild);
this.OBJECT = this.OBJECT || {};
this.OBJECT.array = this.OBJECT.somearray || [];
})();
OBJECT.somearray.push({
val1 : “foo",
val2 : “bar"
});
将脚本嵌入头部的基本部分我是这样做的:
ScriptElement scr = new ScriptElement()
..src = "//someurl.com/somefile.js";
..async = true;
querySelector('head').append(scr);
但我不知道如何正确检查 OBJECT 和 OBJECT.somearray 是否存在于 somefile.js 中并在其中推送一个对象项。
最佳答案
与 dart:js您可以使用以下命令检查是否存在全局变量:
bool exist = context.hasProperty('OBJECT');
if (exist) {
final o = context['OBJECT'];
if (!o.hasProperty('somearray')) {
o['somearray'] = new JsArray();
}
}
关于javascript - 从 Dart 创建 js 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20586381/