CSS 实现水平垂直居中
1.flex布局,无需考虑父子宽高
1 | /* 父元素设置 */ |
2.相对定位+transform,无需考虑父子宽高
1 | /* 子元素设置 */ |
3.display:table-cell
1 | .parent { |
1.flex布局,无需考虑父子宽高
1 | /* 父元素设置 */ |
2.相对定位+transform,无需考虑父子宽高
1 | /* 子元素设置 */ |
3.display:table-cell
1 | .parent { |
查询不存在对象的属性会报错,如果 . 的左边是 null 或 undefined,则属性访问表达式会失败。因此在写类似 ``book.author.sername` 这样的表达式时,要确保 book 和 book.author 是有定义的。以下是两种防止这类问题的写法:
1 | surname = book && book.author && book.author.surname |
1 | let surname = book?.author?.surname |
如果想迭代对象的属性,可以使用 for/in 循环,或者基于 Object.keys() 方法的结果使用 for/of :
1 | let o = {x:1, y:2, z:3} |
也可以像下面这样迭代每个键对应的值:
1 | let o = {x:1, y:2, z:3} |
解构赋值,ES6 新增语法,以下是解构赋值的一些示例代码:
1 | let [x,y] = [1,2] |
解构赋值让使用返回数组的函数变得异常便捷:
1 | function toPolar(x, y){ |
遍历一个对象所有属性的名/值对:
指定项目依赖,值为包名加上版本号。
版本号可以指定一个范围,有以下语法。
version
:精确的版本,例如 1.0.0
>version
:大于 version
>=version
:大于等于<version
: 小于<=version
: 小于等于~version
: 允许补丁级别的变化,例如 ~1.2.3
表示 >=1.2.3 <1.3.0
^version
:允许不更改最左侧非0版本号数字的变化,例如 ^1.2.3
表示 >=1.2.3 <2.0.0
1.2.x
http://...
*
version1 - version2
等同于 >=version1 <=version2