1: 删除并重新安装node_modules: rm -rf node_modules && npm install
2:判断一个对象里面是否有存在"", null, undefined 等空值的判断 : Object.values(obj).every(Boolean)
3: js实现函数1秒后打印0-9
闭包:
for(var i = 0; i < 10; i++){
setTimeout((function(i){
return function(){
console.log(i);
}})(i),1000);
}
ES6:
for(let i = 0; i < 10; i++) {
console.log(i);
}
4: js实现深拷贝和浅拷贝
深拷贝: let obj = {a: 1, b: 2};
const obj1 = Object.assign({}, obj);
const obj2 = JSON.parse(JSON.stringify(obj))
浅拷贝: const obj3 = Object.assign(obj)
5: async await 的用途
让promise的异步变成了同步的可能
const asyncFunc = async () => {
await console.log(11111);
console.log(22222)
};
asyncFunc(); // 11111 ---> 22222
6: 关于return在项目中使用的误区
return 跳出循环或者终止函数
但是在一个函数的循环(例如map, for, filter, foreach)里面使用return 他只能跳出该循环并不能跳出函数
解决办法: 在函数开头定义一个标志 flag = false;当循环时的条件成立让标志位 flag = true, 再使用return跳出循环
在循环外面判断if (flag) return 就可以了
7: shallowequal 浅比较就是可以只比较两个对象的值,不在意两个对象不同的指针
8: git cherry-pick 62ecb3 ———>>>>>>> 提交的ID GIT截取提交的代码
git reset --hard 回退到上一次提交之前
+ 某次commitID 回退到指定提交之前
9: rm -rf node_modules && npm install
10: 2.toFixed(1) Uncaught SyntaxError: Invalid or unexpected token
2..toFixed(1) -----> "2.0"
这是因为数字后面的第一个.会被默认为是数字的一部分,所以就无法调用toFixed
11 如何判断NaN 用ES6的Number.isNaN() 或者兼容的写法
if (!Number.isNaN) {
Number.isNaN = function (n) {
return n !== n;
}
}
7: MAC下如何杀死端口号
关闭进程
8: SSH生成
https://blog.csdn.net/hustpzb/article/details/8230454
9: mac下显示隐藏文件
COMMAND + SHIFT + .
10: node拷贝文件 https://www.jianshu.com/p/d6990a03d610
11: /* eslint-disable */