首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个重绘和重排的函数是做什么的?

这个重绘和重排的函数是做什么的?
EN

Stack Overflow用户
提问于 2020-02-20 06:07:46
回答 2查看 26关注 0票数 1

JS代码旨在最大限度地减少所需的重绘和回流次数。我对这个概念非常陌生,所以我不确定doing....specifically循环的函数是什么。

代码语言:javascript
复制
(function() { 
    var element, 
        index, 
        length, 
        content = document.getElementById("content"),
        html = "",
        data = [{ 
            id: 1, 
            name: "John", 
            color: "green" 
        }, { 
            id: 2, 
            name: "Sally", 
            color: "pink" 
        }, { 
            id: 3, 
            name: "Andrew", 
            color: "blue" 
        }, { 
            id: 4, 
            name: "Katie", 
            color: "purple" 
        }];

    for (index = 0; index < data.length; index++) {
        html +=
            '<li id="' + data[index].id + '" style="color: ' + data[index].color + '">' +
                '<strong>' + data[index].name + '</strong>' +
            '</li>';
    } 

    content.innerHTML = html;
 })();
EN

回答 2

Stack Overflow用户

发布于 2020-02-20 06:10:25

for循环只是连接数组中每个元素的字符串。这样做的目的是将列表的所有HTML放入单个字符串中,然后将该字符串放入DOM中一次,而不是每次都通过循环将其附加到HTML中。这更有效率,因为HTML只需呈现一次而不是多次。

票数 1
EN

Stack Overflow用户

发布于 2020-02-20 06:12:13

要查看,输出是什么:

代码语言:javascript
复制
(function() { 
    var element, 
        index, 
        length, 
        content = document.getElementById("content"),
        html = "",
        data = [{ 
            id: 1, 
            name: "John", 
            color: "green" 
        }, { 
            id: 2, 
            name: "Sally", 
            color: "pink" 
        }, { 
            id: 3, 
            name: "Andrew", 
            color: "blue" 
        }, { 
            id: 4, 
            name: "Katie", 
            color: "purple" 
        }];

    for (index = 0; index < data.length; index++) {
        html +=
            '<li id="' + data[index].id + '" style="color: ' + data[index].color + '">' +
                '<strong>' + data[index].name + '</strong>' +
            '</li>';
    } 

    content.innerHTML = html;
 })();
代码语言:javascript
复制
<ul id="content">

</ul>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60310028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档