4-8 开发 博客详情路由
ES6 参数默认值
在学习解构赋值时我们有提到过给 对象的属性/数组元素 设置默认值的方法。
同样的,我们也可以给函数的参数设置默认值,当没有接收到该参数时就会使用默认值。
使用方法: 在传参时直接通过
=
赋值即可,具体可看下面的例子。注意: 当需要第一个参数使用默认值,而指定第二个参数时,需要显式指定第一个参数值为
undefined
。(当显式指定参数为null
时,是不会使用默认值的)
简单例子
1 | function sum (a = 10, b = 5) { |
参数为对象并解构时的默认值
注意:参数对象进行解构赋值时易忘记设置默认的空对象{ a, b, c } = {}
,不给默认值很容易在函数体中使用结构出的变量时出现解构赋值报错的问题:
1 | function test(row, { |
1 | // 可以提供一个默认的空对象作为第二个参数来避免这个错误 |
JS异步与单线程、Date、Math
单线程和异步
单线程:一次只能做一件事情,js就是单线程的。
异步:为了让单线程不阻塞,就出现了异步。
js是单线程的,但是遇到等待(网络请求/定时任务)的时候不能卡住,此时就需要异步。
异步通常是基于回调函数的形式,当然还有其他的方法实现异步,比如Promise
JS是单线程语言,只能同时做一件事。
浏览器和nodejs已支持JS启动进程,如Web Worker
JS和DOM渲染共用同一个线程,因为JS可修改DOM结构
hexo deploy中报错:unable to auto-detect email address
问题描述在git bush中使用hexo clean && hexo g && hexo d后未能成功部署到github上。