1.前后端联调
1.打开config目录下的index.js文件
2.在其中的proxyTable属性中设置对应的后端地址
2.运行js程序
1:打开命令行,输入node xxx/ddd/zzz/www.js(文件路径), 回车即可运行程序
2:打开命令行,移动到js文件所在目录,输入node xxx.js,回车即可运行程序
3.垃圾回收机制
1.标记清除法
先给所有的变量都带上标记,然后清除掉“环境中的变量”和“被环境中的变量引用的变量”的标记,清除过后仍然带有标记的变量就是要被清除的变量
2.引用计数法
记录一个变量现在被引用的次数,为0是就清除掉,不为0时就不清除
4.时间(空间)复杂度
时间(空间)复杂度的数量级有:O(1),O(logn),O(n),O(n*logn),O(n^2)
5.旋转数组
方法1:去尾增头
function rotate1(arr,k){
let length=arr.length;
if(!k||length==0) return arr;
const step=Math.abs(k%length);
for(let i=0;i<step;i++){
const n=arr.pop();
if(n){
arr.unshift(n);}
}
return arr
}
方法2:整体拼接
function rtotate2(arr,k){
const length=arr.length;
if(!k||length===0)return arr
const step=Math.abs(k%length);
const part1=arr.slice(-step);
const part2=arr.slice(0,length-step);
const part3=part1.concat(part2);
return part3
}
6.判断字符串是否匹配
核心知识点:数据结构(栈)
function isMatch(a,b){
if(a==='{'&&b==='}') return true
if(a==='['&&b===']') return true
if(a==='('&&b===')') return true
return false
}
function isMatchStr(str){
let stack=[];
let left='{[(';
let right='}])';
for(let i=0;i<str.length;i++){
const s=str[i];
if(left.includes(s)){
stack.push(s);//压栈