zoukankan      html  css  js  c++  java
  • 前端笔试题[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);
  • 相关阅读:
    机器学习知识点总结(1)
    RPC基本原理
    Oracle中ORA-01113,ORA-01110的简单解决
    跟着whatwg看一遍事件循环
    node进程间通信
    白话协程【前端视角】
    白话typescript中的【extends】和【infer】(含vue3的UnwrapRef)
    原来rollup这么简单之插件篇
    面试官: 说说你对async的理解
    白话web安全
  • 原文地址:https://www.cnblogs.com/Candybunny/p/6252376.html
Copyright © 2011-2022 走看看