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

前端-细碎知识点

作者: 大巴纯爷们 | 来源:发表于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