前端整理

106 阅读2分钟

1.写出10个常用的数组方法 let arr = [1, 2, 23, 444, 5556, 777] arr.push(1) arr.pop() arr.unshift(2) arr.shift() arr.reverse() arr.splice(1,1) //从数组中删除并返回一段特定元素 console.log(arr.slice(2,4)); //返回特定一段元素,不影响旧数组 console.log(arr.join()); function join(arr, code = ',') { let str = '' for (let i = 0; i < arr.length; i++) { str += arr[i] + code } return str.substring(0, str.length - code.length) } console.log(join(arr,'---'));

    arr.forEach(r => {
        console.log(r);
    })

    let arr1 = [
        {
            name: "Simba",
            age: 20
        },
        {
            name: "Ace",
            age: 30
        },
        {
            name: "Roger",
            age: 40
        }
    ]

    console.log(arr1.map(r => r.name));
    console.log(arr1.map(r => r.age));

    console.log(arr.filter(r => r % 2 === 0));

    arr = arr.filter(r => {
        return r <= 400
    })
    console.log(arr);

    console.log(arr.some(r => r > 500));

    arr.every(r => r % 2 === 0)




    let add = (a, b) => a + b
    console.log(add(10, 20));



    2.写出10个常用的字符串方法
    3.存一个有效期为7天的cookie,key = nickname, val = Ace

    function setCookie(key, val, expires) {
        let now = new Date()
        now.setDate(now.getDate() + expires)
        document.cookie = `${key}=${val};expires=${now.toUTCString()}`
    }

    function removeCookie(key) {
        setCookie(key, null, -1)
    }

    setCookie('count', 22, 7)
    // setCookie('age1', 33, 2)
    removeCookie('age1')
    console.log(document.cookie);

    function getCookie(key) {
        let obj = {}
        let cookies = document.cookie.split('; ')
        cookies.forEach(r => {
            let kv = r.split('=')
            let key = kv[0]
            let val = kv[1]
            obj[key] = val
        })
        if (key) return obj[key]
        return obj
    }

    console.log(getCookie());
    console.log(getCookie('age'));
    console.log(getCookie('username'));


    let a = 0
    // if (a !== null && a !== '' && a !== undefined && a !== 0 && a !== false)
    if (a) {
        console.log(1111);
    }

    let a = '1111'

    // if (!a) a = 20
    // a = !a ? 20 : a

    let a = 10

    a = a || 20  //语法糖
    // if (!a) {
    //     a = 20
    // }

    a > 0 && console.log(a)

    if (a > 0) {
        console.log(a)
    }


    4.删除上面那个cookie
    5.获取地址栏 age=20&pirce=30&keywords=lv&cc=1 中的keywords参数的值
    let obj = {}
    let str = 'age=20&pirce=30&keywords=lv&cc=1'
    let keys = str.split('&')
    keys.forEach(r => {
        let kv = r.split('=')
        let key = kv[0]
        let val = kv[1]
        obj[key] = val
    })

    console.log(obj.keywords);

    6.获取30~40之间的一个随机数
    function rnd(max, min = 0) {
        return Math.round(Math.random() * (max - min)) + min
    }

    console.log(rnd(40, 30));
    console.log(rnd(40));

    // 7.如何获取当前是星期几

    // 0-6
    function getWeek() {
        let now = new Date()
        return '星期' + '日一二三四五六'[now.getDay()]
    }
    console.log(getWeek());


    8.手写一个补0的方法,如 repairZero(8) 变成 “08”

    function repairZero(num) {
        num = num.toString()
        return num[1] ? num : ('0' + num)
    }

    console.log(repairZero(3));
    console.log(repairZero(13));

    9.写5个DOM选择器
    document.getElementById
    document.getElementsByClassName
    document.getElementsByTagName
    document.querySelector
    document.querySelectorAll

    10.innerHTML和outerHTML区别

    let demo = document.getElementById('demo')
    console.log(demo.innerHTML);
    console.log(demo.outerHTML); //包含自身的标签