2016-01-08 2 views
3

Я видел этот пример, и задавался вопросом, почему кто-то будет делать это:Возвращение присоединиться против возвращения строки

function a(str) { 
    return [ 
    '<div>', 
    str, 
    '</div>' 
    ].join(''); 
} 

Разве это не равносильно следующему коду и что преимущества/недостатки использования только:

function a(str) { 
    return '<div>' + 
    str + 
    '</div>; 
} 

спасибо.

+1

Они эквивалентны ... Кроме того, вы можете просто проверить это, нет? – nicael

+0

@nicael, я понимаю. Но что лучше? – Fijir

+0

В вашем конкретном примере это не имеет значения. Вторая, очевидно, короче, а первая - избыточное усложнение этой проблемы. – nicael

ответ

2

Это то же самое. Some experiments have shown с помощью оператора + быстрее, но это зависит от браузеров. Не говоря уже о том, что такие виды микро-оптимизации не имеют большого вклада.

Итак, какой из них лучше? Какой вам больше всего нравится.

0

Мое предпочтение было бы использовать версию «конкатенации строк», другими словами, вторую.

Они оба возвращают то же самое. В случае первого примера, однако, вы комбинируете строковые элементы массива вместе. Во втором вы просто добавляете строки вместе.

Нет необходимости использовать массив для решения этой проблемы, а второй - более сжатый. Это лучшая практика веб-разработки.

Эксплуатационные характеристики: во втором случае будет небольшое улучшение. Так как у него меньше места, это означает, что загружаемый файл JavaScript будет меньше, в нем будет меньше ресурсов в браузере пользователя.

Он также сделает его более удобным для обслуживания с меньшим количеством строк кода.

+0

Ух, это так уродливо использовать обратные шаги для не-кода ... – nicael

Смежные вопросы