You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
querySelector('#button') // Get an object.
..text = 'Confirm' // Use its members.
..classes.add('important')
..onClick.listen((e) => window.alert('Confirmed!'));
// Make sure the variable has a non-null value.
assert(text != null);
// Make sure the value is less than 100.
assert(number < 100);
// Make sure this is an https URL.
assert(urlString.startsWith('https'));
变量
Default value(默认值)
没有初始化的变量自动获取一个默认值为 null。
Optional types(可选的类型)
在声明变量的时候,你可以选择加上具体 类型:
添加类型可以更加清晰的表达你的意图。 IDE 编译器等工具有可以使用类型来更好的帮助你, 可以提供代码补全、提前发现 bug 等功能。
Final and const
如果你以后不打算修改一个变量,使用 final 或者 const。 一个 final 变量只能赋值一次;一个 const 变量是编译时常量。 (Const 变量同时也是 final 变量。) 顶级的 final 变量或者类中的 final 变量在 第一次使用的时候初始化。
Built-in types(内置的类型)
Dart 内置支持下面这些类型:
使用三个单引号或者双引号也可以 创建多行字符串对象
Dart 有一个名字为 bool 的类型。 只有两个对象是布尔类型的:true 和 false 所创建的对象, 这两个对象也都是编译时常量。
赋值操作符
??=
操作符用来指定 值为 null 的变量的值。条件表达式
expr1 ?? expr2
如果
expr1
是non-null
,返回其值; 否则执行expr2
并返回其结果。级联操作符
..
级联操作符 (
..
) 可以在同一个对象上 连续调用多个函数以及访问成员变量。 使用级联操作符可以避免创建 临时变量, 并且写出来的代码看起来 更加流畅:例如下面的代码:
第一个方法
querySelector()`` 返回了一个
selector` 对象。 后面的级联操作符都是调用这个对象的成员, 并忽略每个操作 所返回的值。上面的代码和下面的代码功能一样:
断言(Assert)
如果条件表达式结果不满足需要,则可以使用
assert
语句俩打断代码的执行。 下面介绍如何使用断言。 下面是一些示例代码:注意: 断言只在检查模式下运行有效,如果在生产模式 运行,则断言不会执行。
库
使用
import
来指定一个库如何使用另外 一个库。import
必须参数为库的URI
。 对于内置的库,URI
使用特殊的dart: scheme
。 对于其他的库,你可以使用文件系统路径或者package: scheme
。package: scheme
指定的库通过包管理器来提供, 例如pub
工具。Lazily loading a library(延迟载入库)
Deferred loading
(也称之为lazy loading
) 可以让应用在需要的时候再 加载库。 下面是一些使用延迟加载库的场景:deferred as
来 导入:当需要使用的时候,使用库标识符调用
loadLibrary()
函数来加载库:元数据(Metadata)
使用元数据给代码添加更多的信息。
元数据是以
@
开始的修饰符。在`@`` 后面接着编译时的常量或调用一个常量构造函数。目前Dart语言提供的三个可用的@修饰符:
工厂构造函数
factory
,下面我们用工厂构造函数写一个只能创造一个实例的类。static
静态成员,无法访问this
指针,所以在工厂构造函数中能处理的任务较为有限。例子:
3.8 工厂构造函数 – 《简单易懂的Dart》 - BlackGlory
The text was updated successfully, but these errors were encountered: