封装默认对象属性
小于 1 分钟javascript
概述
封装一个微信小程序的异步请求,填充默认值,优先采用调用者自定义的属性
源码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>覆盖对象属性</title>
</head>
<script>
function reqWrapper(data){
const o = {sigt:'11',sigm:'msg'};
data = data ?? {};
const customHeader = data.header ?? {};
return {
...data,// 保留调用者自定义的所有属性
// 先设置默认属性,再使用调用者自定义的 header 属性进行覆盖
// 即优先使用调用者自定义属性(自定义属性覆盖默认属性)
header: {
...o,
...customHeader,
}
}
}
function req01(){
const ret = reqWrapper({
header: {
'content-type':'charset=utf-8',
'sigt':'22'
},
url:'www.baidu.com',
data:'我是参数'
})
console.log(ret);
}
req01();
</script>
<body>
<h1>测试覆盖对象属性</h1>
</body>
</html>
