如果想迭代对象的属性,可以使用 for/in 循环,或者基于 Object.keys() 方法的结果使用 for/of :

1
2
3
4
5
let o = {x:1, y:2, z:3}
let keys = ''
for(let k of Object.key(o)){
keys += k
}

也可以像下面这样迭代每个键对应的值:

1
2
3
4
5
let o = {x:1, y:2, z:3}
let sum = 0
for(let v of Object.values(o)){
sum += v
}
阅读全文 »


解构赋值,ES6 新增语法,以下是解构赋值的一些示例代码:

1
2
3
let [x,y] = [1,2]
[x,y] = [x+1,y+1]
[x,y] = [y,x]

解构赋值让使用返回数组的函数变得异常便捷:

1
2
3
4
5
6
7
8
9
10
function toPolar(x, y){
return [Math.sqrt(x*x+y*y), Math.atan2(y,x)]
}

function toCartesian(r, theta){
return [r*Math,cos(theta), r*Math.sin(theta)]
}

let [r,theta] = toPolar(1.0, 1.0)
let [x,y] = toCartesian(r,theta)

遍历一个对象所有属性的名/值对:

阅读全文 »


dependencies

指定项目依赖,值为包名加上版本号。

版本号可以指定一个范围,有以下语法。

  • 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
阅读全文 »


常用 CSS 选择器名称和功能

选择器名称 实例 功能
#id #div 获取 id=“#div” 的元素
.class .red 获取 class=“red” 的全部元素
element div 获取所有
element element div p 获取
element,element div,p 获取全部
element>element div>p 获取父元素为
element+element div+p 获取紧接在
* * 获取所有元素
阅读全文 »


Access-Control-Expose-Headers

响应首部 Access-Control-Expose-Headers 列出了哪些首部可以作为响应的一部分暴露给外部。

默认情况下,只有七种 simple response headers (简单响应首部)可以暴露给外部:

如果想要让客户端可以访问到其他的首部信息,可以将它们在 Access-Control-Expose-Headers 里面列出来。

阅读全文 »
0%