美文网首页
前端-细碎知识点

前端-细碎知识点

作者: 大巴纯爷们 | 来源:发表于2017-05-23 18:08 被阅读0次

    JS-script标签的 defer 和 async

    内容来自公众号javascript

    三者之间的区别?
    script

    当解析器遇到 script 标签时,文档的解析将停止,并立即下载并执行脚本,脚本执行完毕后将继续解析文档。

    defer script

    当解析器遇到 script 标签时,文档的解析不会停止,其他线程将下载脚本,待到文档解析完成,脚本才会执行。

    async script

    当解析器遇到 script 标签时,文档的解析不会停止,其他线程将下载脚本,脚本下载完成后开始执行脚本,脚本执行的过程中文档将停止解析,直到脚本执行完毕。

    js 数组或者对象的深复制

    //数组或对象深拷贝
      function deepCopy(o) {
        if (o instanceof Array) {
            var n = [];
            for (var i = 0; i < o.length; ++i) {
                n[i] = deepCopy(o[i]);
            }
            return n;
    
        } else if (o instanceof Object) {
            var n = {}
            for (var i in o) {
                n[i] = deepCopy(o[i]);
            }
            return n;
        } else {
            return o;
        }
    }
    

    多行文本溢出显示省略号

    该方法仅在WebKit浏览器或移动端有效

    overflow : hidden;
    text-overflow: ellipsis;//多行文本的情况下,用省略号“…”隐藏超出范围的文本 。
    display: -webkit-box;//将对象作为弹性伸缩盒子模型显示 
    -webkit-line-clamp: 2;//限制在一个块元素显示的文本的行数
    -webkit-box-orient: vertical;//设置或检索伸缩盒对象的子元素的排列方式
    

    兼容性

    image.png

    debounce与throttle的区别

    在这拿鼠标移动事件举例,如果你频繁的移动鼠标,throttle 会保证在每 maxWait 时间调用 func 一次,而 debounce 如果没有明确设置 maxWait,是一直不会调用 func 直到你停止移动鼠标后才会调用一次。

    相关文章

      网友评论

          本文标题:前端-细碎知识点

          本文链接:https://www.haomeiwen.com/subject/audgxxtx.html