【发布时间】:2019-11-14 08:01:45
【问题描述】:
在 JavaScript 中,我可以使用“in”运算符来检查变量是否存在。所以,也许这段代码可以正常工作。
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Using in operator</title>
</head>
<body>
<div id="div1">hello</div>
<script>
document.someValue = "testValue";
if( 'someValue' in document ) {
document.getElementById('div1').innerHTML = document.someValue;
}else{
document.getElementById('div1').innerHTML = "not found";
}
</script>
</body>
</html>
因此,div1 的最终内容将是“testValue”。 但是,Dart 没有“in”运算符。在 Dart 中,HtmlDocument 类确实有 contains() 方法。但是,该方法的参数类型是 Node,而不是 String。 我也试过这段代码。
print( js.context['document'] );
print( js.context['document']['someValue'] );
" js.context['document'] " 运行良好并返回 HtmlDocument 对象的实例。 但是,“ js.context['document']['someValue'] ”完全不起作用。这将不返回任何内容或不返回错误。
有没有办法检查 Dart 中的变量是否存在? :-(
感谢您的阅读!
【问题讨论】:
-
这只是一个例子,还是你真的设置了
document的属性?如果是这样,为什么?你的真正目标是什么?
标签: javascript dart