=_=_=js复习

发布时间 2023-09-09 22:27:22作者: inks
// 数组 浅拷贝
let arr = [7, 2, 3]
let cparr = [];
arr.forEach((v, index) => {
    cparr[index] = v
})
cparr[1] = 12
console.log(cparr, arr);
let cparr2 = arr.slice()
cparr2[1] = 12
console.log(cparr2, arr);
//浅拷贝对象
let obj = {name: '小米', age: 12, test: {c: 1}};
let cpobj = {}
for (const v of Object.keys(obj)) {
    cpobj[v] = obj[v]
}
console.log(cpobj)
obj.test.c = 12
console.log(cpobj)
cpobj2 = Object.assign({}, obj);
console.log(cpobj2)
// 深拷贝
cp = structuredClone(obj)
console.log(cp)
// 遍历方法
arr.forEach((value, index, array) => {
})
for (let v of arr) {
    console.log(v)
}
for (let index in arr) {
    console.log(index)
}
// 赋值
let arr2 = [7, 2, 3];
let [a, b, c] = arr2;
console.log(a, b, c);
let human = {name: 'jocker', sex: 'girl', inex: undefined}
let {name, sex, inex = 12} = human
console.log(name, sex, inex);
// ... 操作时
function add(a,...v){
    console.log(a,v)
}
add(1,2,3,4)//函数是和argument 差不多
a = [1,2,3,4];
let v = [1,2,3,...a];//和 concat
console.log(v);
console.log([].concat(a,[4,5,6]));
//String
console.log('hhhhhx'.charCodeAt(2));
console.log(String.fromCharCode(104));
//数组 python arr[1:2] js如何操作
console.log(arr.slice(1, 2),arr);
console.log(arr.splice(1, 0, 1, 2, 3)); //可以插入
console.log(arr)
console.log(arr.splice(1, 3),'删除内容会返回'); //可以删除
console.log(arr)
// 正则环节
// 隐式
let tag = `
    <a href="http://localhost.com">主页1</a>
    <a href="http://localhost.com">主页2</a>
    <a href="http://localhost.com">主页3</a>
    <a href="http://localhost.com">主页4</a>
`;
let reg = /<a href="(?<url>[\w|\/|:|\.]+)">(?<text>.+)?<\/a>/ig;
console.log(reg.test(tag)) //判断是否有
console.log(reg.exec(tag));
let key;
while (key = reg.exec(tag)?.groups){
    console.log(key)
}
// 说起这个?.
a = {test:{add(a,b){return a+b;}}};
console.log(a.test && a.test.add &&a.test.add(1,2))
console.log(a.txst?.xsaxa?.sadsa)
//Map 升级版 Obj <====> 我就不复习了 Set 总的来看没啥东西 js 可能还有Promise还有一些东西后面完善
View Code