zoukankan      html  css  js  c++  java
  • 20200331

    1.外边距合并/border合并

        若边框为1PX, 则给合并的div添加margin-right:-1px; margin-bottom:-1px;

        表格边框合并:table{border-collapse:collapse;}

    2.浅拷贝和深拷贝

        最简单的深拷贝:aa = JSON.parse( JSON.stringify(a) )

     浅复制--->就是将一个对象的内存地址的“”编号“”复制给另一个对象。深复制--->实现原理,先新建一个空对象,内存中新开辟一块地址,把被复制对象的所有可枚举的(注意可枚举的对象)属性方法一一复制过            来,注意要用递归来复制子对象里面的所有属性和方法,直到子属性为基本数据类型。总结,深复制理解两点,1,新开辟内存地址,2,递归来刨根复制

    3.jsonp是jquery常用的跨域方法。
    4.跨域相关:
        只要协议,域名,端口号不同则视为不同域。解决跨域VUE用axios JQ用jsonp
    5.css选择器的优先级
        行内样式>id>class>标签>相邻>子选择器>后代选择器>*>属性>伪类
    6.setTimeout clearTimeout  ////setInterval
        时间选择器,清除时间选择器,配合使用,不清除一直循环执行;时间选择器,只执行一次
    7.JS跳转
        javascript:history.go(-1)
        javascript:location.href=""
    8.VUE router和 router-link怎么实现跳转
     router.go(1)router.push('/')
    9.怎么判断两个对象相等
        JSON.stringify(obj)==JSON.stringify(obj);//true
    10.一行代码实现数组去重
        var arr=["1","ae","323","2434",2,"asd",2];
        [...new Set(arr)]
    11.水平垂直居中
      第一种:
    #container{
        position:relative;
    }
    #center{
        width:100px;
        height:100px;
        position:absolute;
        top:50%;
        left:50%;
        transform: translate(-50%,-50%);
    }
    第二种:
    #container{
        position:relative;
    }
    #center{
        width:100px;
        height:100px;
        position:absolute;
        top:50%;
        left:50%;
        margin:-50px 0 0 -50px;
    }
    第三种:
    #container{
        position:relative;
    }
    #center{
        position:absolute;
        margin:auto;
        top:0;
        bottom:0;
        left:0;
        right:0;
    }

    第四种:
    #container{
        display:flex;
        justify-content:center;
        align-items: center;
    }
    12.右边宽度固定,左边自适应
        第一种:
    <style>
    body{
        display: flex;
    }
    .left{
        background-color: rebeccapurple;
        height: 200px;
        flex: 1;
    }
    .right{
        background-color: red;
        height: 200px;
         100px;
    }
    </style>
    <body>
        <div class="left"></div>
        <div class="right"></div>
    </body>
    第二种:
    <style>
        div {
            height: 200px;
        }
        .left {
            float: right;
             200px;
            background-color: rebeccapurple;
        }
        .right {
            margin-right: 200px;
            background-color: red;
        }
    </style>
    <body>
        <div class="left"></div>
        <div class="right"></div>
    </body>
    13.locationStorage不能清除的时候,什么时候过期
        除非被清除,否则永久保留。clear可清除
        localStorage.clear();
        localStorage.setItem()localStorage.getItem()
    14.sessionStorage和locationStorage能跨域拿到值吗?比如www.baidu.com设置的值能在m.baidu.com拿到吗?
        不能!我试过了
    15.不用循环语句实现一个长度为100的数组,索引值和值相同的数组[0,1,2,3...100]
        var arr=new Array(100)
        [...arr.keys()]
    16.解释原因
        var a={},b={key:'b'},c={key:'c'},d=[3.5.6];
        a[b]=123;a[c]=345;a[d]=333;
        console.log(a[b]);   //345
        console.log(a[c]);   //345
        console.log(a[d])    //333
        解释:a[XX]中的xx会自动转为字符串,所以a[{}]会转换为["object object"],所以a[b]和a[c]转为一样的值。
    17.git使用过程中,如果你在开发业务,突然另外一个分支需要修改BUG,怎么办。
        git stash   //将本次修改存到暂存区
        git stash pop //将所有暂存区的内容取出来
    18.  DOM事件委托是什么原理,有什么优缺点。
        原理:事件冒泡机制
        优势:可以大量减少内存,减少时间注册;动态新增则元素时不用再进行事件绑定;
        劣势:盲目使用可能会出现事件误绑
    19.var a=2;var b=3;var c=a+++b;
        a++是先计算再++  c=a+b==>5  a=2+1=3
        ++a是先加再计算
    20.请详尽解释AJAX的工作原理
        创建ajax对象,判断数据传输方式,打开链接,发送,判断相应状态,执行回调函数
     $.ajax({
        headers: {'Content-Type': 'application/json;charset=UTF-8'},
        url: "",data: JSON.stringify(setData),
        type: "POST",
        dataType: "jsonp",
        success: function (res) {},error: function (res) {}
        })
    21.如何优化自己的代码
        代码重用,避免全局变量,拆分函数避免函数过于臃肿,注释
    22.请解释一下语义化HTML
        内容使用特定标签,通过标签就能大概了解整体页面的布局
    23.写一个function去除字符串前后的空格
    let str = ' hello '
    console.log(str.trim())

     

       

  • 相关阅读:
    关于SDK-manager中我们需要下载哪些?
    不只是撸代码搞鸡汤,也有故事!
    [Selenium]如何通过Selenium实现Ctrl+click,即按住Ctrl的同时进行单击操作
    【设计模式】单例模式
    【Java多线程】线程池学习
    【leetcode】147 Insertion Sort List
    【webssh】shellinabox搭建
    【SpringMVC】一次处理项目中文乱码的经历
    【Java多线程】JUC包下的工具类CountDownLatch、CyclicBarrier和Semaphore
    【leetcode】3 SUM
  • 原文地址:https://www.cnblogs.com/youngMan-MrS/p/12605067.html
Copyright © 2011-2022 走看看