首页 > 解决方案 > join("") 在只有一个元素的字符串数组上调用。目的?

问题描述

我在视频教程中看到了这段代码:

const navToggle = ["<div id='toggle-menu'>Menu</div>"].join("");
$(".site-header").prepend(navToggle);

我了解它的基本作用。但我没有得到的是加入调用。

加入这里的目的是什么?

不会...

const navToggle = "<div id='toggle-menu'>Menu</div>";
$(".site-header").prepend(navToggle);

... 相同?

标签: javascriptjquery

解决方案


加入这里的目的是什么?

在那个例子中?没有任何。正如你所说,你最好:

const navToggle = "<div id='toggle-menu'>Menu</div";

一般情况下,如果我们假设代码可能会向数组中添加更多元素,然后执行join 后者,这是构建大 HTML 字符串的一种方法:

const navToggle = ["<div id='toggle-menu'>Menu</div"];
if (someCondition) {
    navToggle.push("<div>something</div>");
}
if (someOtherCondition) {
    navToggle.push("<div>another thing</div>");
}
const str = navToggle.join("");

结果是str来自元素的 HTML 片段与它们之间的任何内容相结合(join默认是在它们之间放置一个逗号,但传入""会覆盖它)。(这曾经比在某些 JavaScript 引擎上使用字符串连接更快。现在已经不多了,无论如何,构建这个字符串不太可能成为性能瓶颈。)

但是在您显示的代码中?这根本没有任何意义,不。


推荐阅读