JavaScript的replace-function与document.create()相结合 - 这段代码是什么?

时间:2016-04-17 08:00:58

标签: javascript

我已经在其他人的网页源代码中看到了这些代码段:

<script>
"'article aside footer header nav section video'".replace(
     /\w+/g,
     function(n){
        document.createElement(n)
     }
 )
 </script>

有人知道这是什么意思吗?

7个HTML元素基于字符串作为输入。 createElement返回对元素的引用。但是这个参考没有做任何事情。它甚至没有存储在某个变量中。更不用说附加在DOM树上了。

所以: 这些代码的目的是什么?

1 个答案:

答案 0 :(得分:1)

这是迭代单词列表的一种“智能”方式:

"'article aside footer header nav section video'".replace(
     /\w+/g, 
    function(w) { document.write(w + "<br>") }
  )

作者很可能采用了这种方式,因为标签列表来自某些外部来源。否则他们应该使用普通数组。

tags = ["article", "aside", "footer", "header", "nav", "section", "video"]

tags.forEach(function(tag) {
    document.createElement(tag);
});