日期格式化12345678910111213141516171819202122// 格式化日期类型,fmt格式可选择function dateFormat(fmt, date) { let ret; let opt = { "Y+": date.getFullYear().toString(), // 年 "M+": (date.getMonth() + 1).toString(), // 月 "D+": date.getDate().toString(), // 日 "h+": date.getHours().toString(), // 时 "m+": date.getMinutes().toString(), // 分 "s+": date.getSeconds().toString(), // 秒 "ms+": date.getMilliseconds().toString ...
this与对象原型prototypehoisting状态提升在程序执行前,编译器先由上到下逐行将代码转为机器可读的命令,然后再执行编译后的指令。
实现一个函数,可以返回输入参数是否为质数?
123456789101112131415function isPrimeNumber(m) { if (m <= 1 || m % 1 !== 0) { return false; } var n = 2; while (n < m) { if (m % n === 0) { return false; } else { n++; continue; } } return true;}
实现一个函数,如果传入的参数是字符串,则将该字符串按照字母出现的次数由大到小重新排列并输出;如果传入的参数不是字符串,则将参数输出。
...
简介Pixi-2D sprite渲染引擎。
简介
Axios是一个基于Promise网络请求库,作用于node.js和浏览器中。在服务端使用原生node.js http模块,在浏览器段使用XMLHttpRequest。
拦截请求和响应
转换请求和响应数据
取消请求
超时处理
查询参数序列化支持嵌套项处理
自动将请求体序列化为:
JSON(application/json)
Multipart/FormData(multipart/form-data)
URL encoded form(application/x-www-form-urlencoded)
将HTMLForm转换为JSON进行请求
自动转换JSON数据
获取浏览器和node.js的请求进度,并提供额外的信息(速度、剩余时间)
为node.js设置带宽限制
兼容符合规范的FormData和Blob(包括node.js)
客户端支持防御XSRF
API
axios.request(config)
axiox.get(url[, config])
axiox.delete(url[, config])
axiox.head(url[, config])
axio ...
判断一个变量是否为数组?
可靠地检测数组方法
1.利用Object的toString方法
12var list = [1, 2, 3];Object.prototype.toString.call(list);//[object Array]
2.利用ES5的Array.isArray()方法
12var list = [1, 2, 3];Array.isArray(list);//true
数组的原生方法有哪些?
会改变自身的方法:
copyWithin、fill、pop、push、reverse、shift、sort、splice、unshift
不会改变自身的方法:
concat、includes、join、slice、toSource、toString、indexOf、lastIndexOf
遍历方法:
forEach、entries、every、some、filter、find、findIndex
keys、map、reduce、reduceRight、values
如何将类数组的变量转化为数组?
如果是ES6,可以用Array.from()方法 ...
商品计价的千分位分隔符转换1return total.toString().replace(/\B(?=(\d{3})+$)/g, ',')
去除字符串的空格
字符串原生trim方法,只能去除两侧空格,返回新字符串
replace正则匹配
去除所有空格:str = str.replace(/\s*/g,"")
去除两侧空格:str = str.replace(/^\s*|\s*$]/g,"")
去除左侧空格:str = str.replace(/^\s*/,"")
去除右侧空格:str = str.replace(/\s*$/,"")
中文、英文、数字但不包括下划线等符号
中文:^[\u4e00-\u9fa5]{0,}$
中文、英文、数字:^[\u4e00-\u9fa5A-Za-z0-9_]+$(包括下划线),[\u4e00-\u9fa5A-Za-z0-9]+$/[\u4e00-\u9fa5A-Za-z0-9]{ ...
表达式全集
字符
描述
\
将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\\”匹配“\”而“\(”则匹配“(”。
^
匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。
$
匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。
*
匹配前面的子表达式零次或多次。例如,zo*能匹配“z”以及“zoo”。*等价于{0,}。
+
匹配前面的子表达式一次或多次。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。
?
匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“does”或“does”中的“do”。?等价于{0,1}。
{n}
n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹 ...
React component lifecycle 生命周期React的生命周期是component在建立和渲染的过程,以component class出发,React会做以下的过程:
依照component被挂入DOM的过程分类,过程中会依序执行component的函数如下:
Mounting:component被建立实体(即react element)后,渲染到DOM的过程:
constructor()
static getDerivedStateFromProps()
render()
componentDidMount()
Updating:当component收到新的props时,更新状态(state),再重新渲染到DOM的过程:
static getDerivedStateFromProps()
shouldComponentUpdate()
render()
getSnapshotBeforeUpdate()
componentDidUpdate()
Unmounting:当component不被使用,从DOM移除的过程
componentWillUn ...
reduxRedux就是给JavaScript应用程序一个可以预测state的容器。
使用Redux的时候一定要记得以下三大原则:
single source of truth:应用程序的state,皆存储在唯一一个树状结构的store中;
state is read-only:唯一改变state的方式,发送一个描述如何改变的action;
changes are made with pure functions:为了描述action如何改变state,reducer必须改成pure function。
具体运行
当我们要改state时,必须**通过dispatch发送一个action对象到store**,这个action对象是用来描述发生了什么事。
store基本上也不知道收到这个用来做什么,因为它是用来存储state tree的地方,所以store会把「自己目前的state」及「action」交给给Reducer处理。
reducer是一个pure function,它会**根据我们action的要求去做state的更改,并将新的state回传给store**。
我们可以 ...
React项目指导使用webpack需要安装的依赖
webpack,webpack-cli,react,react-dom
babel-loader,@babel/core,@babel/preset-env,@babel/preset-react
设置.babelrc,{"presets": ["@babel/preset-env","@babel/preset-react"]}
设置scripts:
12"dev": "webpack --mode development","build": "webpack --mode production"
设置webpack-dev-server:
1234567devServer: { compress: true, port: 9000, hot: true},"start": "webpack ...

