Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 返回连接vs返回字符串_Javascript - Fatal编程技术网

Javascript 返回连接vs返回字符串

Javascript 返回连接vs返回字符串,javascript,Javascript,我看到这个例子,想知道为什么有人会这么做: function a(str) { return [ '<div>', str, '</div>' ].join(''); } 函数a(str){ 返回[ '', str, '' ].加入(“”); } 它不是等同于以下代码吗?仅使用以下代码的优点/缺点是什么: function a(str) { return '<div>' + str + '</d

我看到这个例子,想知道为什么有人会这么做:

function a(str) {
  return [
    '<div>',
     str,
    '</div>'
  ].join('');
}
函数a(str){
返回[
'',
str,
''
].加入(“”);
}
它不是等同于以下代码吗?仅使用以下代码的优点/缺点是什么:

function a(str) {
  return '<div>' +
     str +
    '</div>;
}
函数a(str){
返回“”+
str+
';
}
谢谢。

它们是一样的。使用
+
操作符速度更快,但不同浏览器的速度会有所不同。更不用说,这些类型的微观优化往往没有多大贡献


那么哪一个更好呢?你最喜欢哪一个。

我更喜欢使用“字符串连接”版本,换句话说,就是你的第二个版本

它们都返回相同的东西。但是,在第一个示例中,将数组的字符串元素组合在一起。在第二个示例中,您只需将字符串添加到一起

不需要使用数组来解决这个问题,第二个数组也更简洁。这是一种更好的web开发实践

就性能而言,第二个会有轻微的改进。因为它有更少的空间,这意味着加载它的JavaScript文件将更小,占用用户浏览器上更少的资源


它还将使它更易于维护,代码行更少。

它们是等效的。。。还有,你可以试试看,不是吗?@nicael,我明白。但是什么更好呢?@nicael,我认为string更快,例如在这个特定的例子中,我更喜欢第二种方式,因为它更容易理解。在第一个函数中,您看到“return[”,因此您最初认为它返回的是一个列表。只有在到达函数末尾后,您才能找到“.join(“”)”这将其转换为字符串。在第二个示例中,代码更容易为人类解析。在过去,在构建大型字符串时,这类事情很重要。在现代浏览器中,这是一种个人风格偏好。啊,将反勾用于非代码太难看了。。。