前端笔试题[1]

看到的笔试题,总结在这里吧!

1.运用JS设置cookie、读取cookie、删除cookie

    function setCookie (name, value) {
        let duringDay = 30;
        let exp = new Date();
        // setTime() 方法以毫秒设置 Date 对象。
        exp.setTime(exp.getTime() + duringDay*24*60*60*1000);
        // 防止Cookie中不允许需要保存的字符串中有“;”出现。有些操作系统,在解释中文的字符串时候常常会出现乱码的现象。避免储存数据中出现非英文字母、非数字的字符。运用escape编码
        document.cookie = name + '=' + escape(value) + ';expires=' + exp.toGTMString();
    }
    // setCookie('ga', 'aaaaa');
    function getCookie (searchName) {
        let rsObj = {};
        let rsArray = document.cookie.split(';');

        rsArray.map((cv,index,array)=>{
            let item = cv.split('=');
            //去掉空格
            let name = unescape(item[0].split(' ').join(''));
            let value = unescape(item[1]);
            rsObj[name] = value;
        });

        /* 或者利用正则

        let arr;
        let reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
        if(arr=document.cookie.match(reg)) {
            return unescape(arr[2]);
        }
        else {
            return null;
        }
        */

        return rsObj[searchName];
    }
    // getCookie('ga');

    function deleteCookie(delName) {
        let exp = new Date();
        exp.setTime(exp.getTime() - 1);
        let val = getCookie(delName);
        if (val) {
            // toGMTString() 方法可根据格林威治时间 (GMT) 把 Date 对象转换为字符串,并返回结果。
            // Thu, 29 Dec 2016 10:48:00 GMT
            document.cookie = delName + '=' + val + ';expires=' + exp.toGTMString();
        }
    }
    // deleteCookie('ga');

2. 请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象,如:var url = “http://witmax.cn/index.php?key0=0&key1=1&key2=2″;

function parseQueryString () {
        let query = window.location.search.substring(1);
        let arr = query.split('&');
        let obj = {};
        arr.map((cv,index,array)=>{
            let item = cv.split('=');
            let name = decodeURIComponent(item[0]);
            let value = decodeURIComponent(item[1]);
            obj[name] = value;
        });
        return obj;
    }
    // let foo = parseQueryString();
    // console.log(foo);
原文地址:https://www.cnblogs.com/Candybunny/p/6252376.html