window.onload=function(){
(function(elem){
var plus=' + ',fn=function(pt){return pt.x + plus + pt.y}, start=new Date();
for(var i=0; i<1.5e7; i++){ fn({x:5,y:6}); };
var end=new Date();
elem.innerHTML=(end-start)+'ms (i:'+i+')';
})(document.getElementById('plus_outside'));
(function(elem){
var fn=function(pt){return pt.x + ' + ' + pt.y}, start=new Date();
for(var i=0; i<1.5e7; i++){ fn({x:5,y:6}); };
var end=new Date();
elem.innerHTML=(end-start)+'ms (i:'+i+')';
})(document.getElementById('plus_inside'));
(function(elem){
var fn=function(pt){return [pt.x,'+',pt.y].join(' ')}, start=new Date();
for(var i=0; i<2e5; i++){ fn({x:5,y:6}); };
var end=new Date();
elem.innerHTML=(end-start)+'ms (i:'+i+')';
})(document.getElementById('array'));
(function(elem){
var fn=function(pt){return [pt.x,' + ',pt.y].join('')}, start=new Date();
for(var i=0; i<2e5; i++){ fn({x:5,y:6}); };
var end=new Date();
elem.innerHTML=(end-start)+'ms (i:'+i+')';
})(document.getElementById('array_nojoin'));
(function(elem){
var fn=function(pt){return ([pt.x,'+',pt.y]+'').replace(',',' ')}, start=new Date();
for(var i=0; i<2e5; i++){ fn({x:5,y:6}); };
var end=new Date();
elem.innerHTML=(end-start)+'ms (i:'+i+')';
})(document.getElementById('array_replace'));
};
<font face="sans-serif">
<p>
Plus inside: <span id="plus_inside"></span><br>
fn: <code>function(pt){return pt.x + ' + ' + pt.y}</code>
</p>
<p>
Plus outside: <span id="plus_outside"></span><br>
fn: <code>function(pt){return pt.x + plus + pt.y}</code>
</p>
<p>
Array: <span id="array"></span><br>
fn: <code>function(pt){return [pt.x,'+',pt.y].join(' ')}</code>
</p>
<p>
Array (no join): <span id="array_nojoin"></span><br>
fn: <code>function(pt){return [pt.x,' + ',pt.y].join('')}</code>
</p>
<p>
Array (replace comas): <span id="array_replace"></span><br>
fn: <code>function(pt){return ([pt.x,'+',pt.y]+'').replace(',',' ')}</code>
</p>
</font>