飞雪连天射白鹿,笑书神侠倚碧鸳

0%

一些示例

面试时遇到了那些你处理哪些业务场景使用xxx就一脸懵,想不起来啊
不知道大家有没有这种感觉,背古诗上半句能接下半句,但是下半句去接上半句就有点难了
更何况有些是特性,而非业务
anyway,开个目录记录下来,之后一点点在这里补充吧

js

闭包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 将变量保存进函数,待执行
function makeSizer(size) {
return function() {
console.log(size)
};
}
var size1 = makeSizer(10);
size1();

// 私有化变量
var Counter = function() {
var privateCounter = 0;
return {
value: function() {
return privateCounter;
}
}
}
var counter1 = Counter();
counter1.value()

Class

1
2
3
4
5
6
7
8
9
10
11
12
// 工具函数,工具类
export function aa(){}
export class checkList {
constructor() {}
checkCodeNum(codeNum, maxLen = 6) {
if (codeNum == '' || codeNum.length != maxLen) {
return false;
} else {
return true;
}
}
}

vue

指令

1
2
3
4
5
6
7
8
9
10
// 取字符串并替换节点内容
<p class="workType" v-getBaTitle="item.position"></p>
directives: {
getBaTitle: {
bind: function(el, binding) {
// 通过binding.value获取绑定的值,并写入节点内
el.innerHTML = binding.value.split("-")[1] || "xxx";
},
},
},

数组

遍历时删除,置顶合并数组

1
2
3
4
5
6
7
8
9
10
11
12
13
// 置顶数组中的指定对象
baList(state) {
if (state.list.length == 0) return [];
let needTopItemArr = [];// 保存取出来的对象
for (let i = 0; i < state.list.length; i++) {
if (state.list[i].serviceStar) {
needTopItemArr.push(state.list[i]);
state.list.splice(i, 1);
i--;// for边循环边删除需要修改i
}
}
return needTopItemArr.concat(state.list)
}

css

当有需求改动ui框架样式是,scoped 中的样式不生效,用 /deep/ 解决
但是 ios 移动端还不支持,只能这部分重写的内容不要放在 scoped 中

听说,打赏我的人最后都找到了真爱
↘ 此处应有打赏 ↙
// 用户脚本