老话题了,直接看代码:

// 方式A:直接采用多行写法
var a = '\
<div class="kissy-toolbar-button" title="{TITLE}">\
    <div class="kissy-toolbar-button-outer-box">\
        <div class="kissy-toolbar-button-inner-box">\
            <span class="kissy-toolbar-{NAME}">{TEXT}</span>\
        </div>\
    </div>\
</div>';

// 方式B:用+号
var b = '<div class="kissy-toolbar-button" title="{TITLE}">' +
            '<div class="kissy-toolbar-button-outer-box">' +
                '<div class="kissy-toolbar-button-inner-box">' +
                    '<span class="kissy-toolbar-{NAME}">{TEXT}</span>' +
                '</div>' +
            '</div>' +
        '</div>';

// 方式C:用数组join
var c = ['<div class="kissy-toolbar-button" title="{TITLE}">',
             '<div class="kissy-toolbar-button-outer-box">',
                 '<div class="kissy-toolbar-button-inner-box">',
                     '<span class="kissy-toolbar-{NAME}">{TEXT}</span>',
                 '</div>',
             '</div>',
         '</div>'].join('');

考虑用 YUICompressor 压缩后的代码:test-min.js

很明显,对于纯排版美化的字符串连接来说,无论从性能还是压缩量上看,方式 B 都是最优的。