Synonym
这个是基于1.x的。官方目前没有更新2.x的对比。
- 最新说明: https:/www.dartlang.org/resources/synonyms
- 1.x中文翻译:http://www.dartlang.cc/docs/synonyms/
捡几个主要的说
嵌入脚本
// 使用下面两个标签可以支持所有浏览器
// 用于支持 Dart VM 的浏览器
<script type='application/dart' src='program.dart'></script>
// 如果浏览器不支持 Dart VM
// 则下面的脚本会载入 javascript 版本的
// 程序代码
<script src="packages/browser/dart.js">
</script>
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
程序入口
// 必须
main() {
// 这是程序的入口
}
// 或者
main(List<String> args) {
// ...
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
是否支持Dart
<script type='text/javascript'>
if (navigator.userAgent.indexOf('(Dart)') === -1) {
// 浏览器不支持 Dart
}
</script>
1
2
3
4
5
2
3
4
5
默认值
var myName;
// == null
int x;
// == null
1
2
3
4
5
6
2
3
4
5
6
集合
var a = new List();
var a = [];
var a = ['apple', 'banana', 'cherry'];
a.add('orange');
a.length == 4;
// Dart 支持泛型
var a = new List<String>();
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Sets (不包含重复元素的集合)
var fruits = new Set();
fruits.add('oranges');
fruits.add('apples');
fruits.length // == 2
fruits.add('oranges'); // duplicate of existing item
fruits.length // == 2
1
2
3
4
5
6
7
2
3
4
5
6
7
Queues (FIFO)
// Queues 优化了从头开始删除元素
var queue = new Queue();
queue.add('event:32342');
queue.add('event:49309');
print(queue.length); // 2
var eventId = queue.removeFirst();
print(eventId == 'event:32342'); // true
print(queue.length); // 1
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
检测空字符串
var emptyString = '';
if (emptyString.isEmpty) {
print('use isEmpty');
}
1
2
3
4
5
2
3
4
5
检测是否为Null
var myNull = null;
if (myNull == null) {
print('use == null to check null');
}
1
2
3
4
5
2
3
4
5
检测是否为NaN
var myNaN = 0/0;
if (myNaN.isNaN) {
print('use isNaN to check if a number is NaN');
}
1
2
3
4
5
2
3
4
5
Closures and counters in loops
// Dart doesn't reuse and close over the same
// loop variable in each iteration
var callbacks = [];
for (var i = 0; i < 2; i++) {
callbacks.add(() => print(i));
}
callbacks[0]() // == 0
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
类反射
var name = "Bob";
name.runtimeType // == String
1
2
3
2
3
Eval
// Dart 不支持 eval()。这不是一个 Bug。// D
1
2
2