如何使用dart将多个对象打印到console.log?
在javascript中,如果我有如下3个变量:如何使用dart将多个对象打印到console.log?,dart,dart-html,Dart,Dart Html,在javascript中,如果我有如下3个变量: var x=1 变量y='cat' var z={color:'blue'} 我可以这样记录它们: console.log('值为:',x,y,z) 在dart中,您可以导入'dart:html',它将打印映射到编译的javascript中的控制台.log。但是print只接受一个参数,而不是3个。当编译的js在浏览器中运行时,此dart将失败: print('值为:',x,y,z) 我唯一能想到做的就是将这些参数字符串化,并将它们连接成一
var x=1
变量y='cat'
var z={color:'blue'}
我可以这样记录它们:
console.log('值为:',x,y,z)
在dart中,您可以导入'dart:html'
,它将打印
映射到编译的javascript中的控制台.log
。但是print
只接受一个参数,而不是3个。当编译的js在浏览器中运行时,此dart将失败:
print('值为:',x,y,z)
我唯一能想到做的就是将这些参数字符串化,并将它们连接成一个字符串,然后打印出来。但是我失去了Chrome扩展打印到控制台的对象的能力
是否可以使用一个print
语句(或类似语句)打印多个对象?如果是,怎么办?关于:
print('值为:${[x,y,z]}')
或
print('值为:$x,$y,$z')
或
['值为:',x,y,z].forEach(打印);
在Dart中,您可以导入,从而访问窗口。控制台
。不幸的是,它的log方法只能接受一个参数。不过,您可以将对象包装到列表中:
import 'dart:html';
var x = 1
var y = 'cat'
var z = {color: 'blue'}
window.console.log([x, y, z]);
两个版本都将所有对象作为字符串的一部分打印,而不是作为独立对象打印。实际的javascript对象(例如,
{one:1,…}
)将无法以这种方式展开打印。对于每个元素,将调用toString()
,并将结果添加到字符串中。我不是一个JavaScript程序员,也不知道在那里如何以不同的方式处理这个问题。我添加了另一个变体,也许这是您所期望的。第三个版本打印所有值,但将对象打印为字符串而不是对象。也许这是不可能的。这就是印刷的作用。它对传递的值调用toString()
。Mybe您只想使用window.console.debug
而不是print
,但在Dartiums控制台中只生成不同的输出,而不是在DartEditor的控制台视图中。回答得好!)@甘特斯切鲍尔,再次感谢你!)特别是对于最后一个)如果执行打印([x,y,z]),会发生什么情况代码>?很好,但有点遗憾,因为dart与浏览器api不匹配,所以您必须进行变通