什么是一句话代码
我会收集一些平时遇到的,可以只用一行代码实现的功能
数组操作
生成一个从 0-n 的数组
1 | new Set(new Array(n)).map((i, n) => n) |
对象操作
用 Reflact方法获取Object的keys,并排序
Reflect 是一个内置的对象,它提供拦截 JavaScript 操作的方法。这些方法与 proxy handlers 的方法相同。Reflect
不是一个函数对象,因此它是不可构造的。
Reflect可以配合Proxy
使用,作为handles注册get,set
1 | const objWithIndices = { |
如果不是Number类型的,则按照注册的先后顺序排列
String
JSON.stringify
1 |
|
把对象缩进4个空格 配合highlightjs 用来format一长串文本
正则
按照 xxx-xxxx-xxxx 匹配电话号码
如 15000000000,需要变成 150-0000-0000
1 |
|
具名捕获
1 |
|
?
匹配 ‘x’ 但是不记住匹配项。这种括号叫作非捕获括号,使得你能够定义与正则表达式运算符一起使用的子表达式。
1 |
|
\1
捕获组,在正则中是 \1 在replace中是$1
1 |
|
css
自定义 dashed 样式
1 | background: linear-gradient(white, white) padding-box, repeating-linear-gradient( |
dom是否包含某个节点
1 |
|
shell
查找文件夹
1 |
|
server vue-cli build后的index.html
一开始我使用的是http-server,但是因为使用的是history模式,所以页面刷新后就提示404 not found了,后来查阅了github上的issue,有人推荐用serve.可以很好的解决重定向的问题.
1 |
|
杂项
文件下载格式
无格式下载文件,需要自行在Content-disposition中添加文件后缀:attachment;filename=aaa.xls
1 |
|
查询端口进程
1 |
|
Symbol的作用
任何两个Symbol都是不相等的
使用Symbol.for
且description
相同 可以创建2个相同的Symbol
Symbol.iterator被称为可迭代对象,可以在for/of循环中使用async方法
用Symbol
表示对象内部状态,可以很好地隔离用户数据和程序状态。
当form中只有一个input的时候回车会直接提交
在用element ui的时候发现了这个问题
1 |
|
git操作
强制推送subtree
1 |
|
动态引入模块
利用webpack的解析能力动态引入相应的模块
1 | require.context( |
import/export
es2015模块的导入导出