Cómo imprimir un número con comas como separadores de miles en JavaScript


Estoy tratando de imprimir un entero en JavaScript con comas como separadores de miles. Por ejemplo, quiero mostrar el número 1234567 como "1,234,567". ¿Cómo podría hacer esto?

Así es como lo estoy haciendo:

function numberWithCommas(x) {
    x = x.toString();
    var pattern = /(-?\d+)(\d{3})/;
    while (pattern.test(x))
        x = x.replace(pattern, "$1,$2");
    return x;
}

¿Hay una manera más simple o más elegante de hacerlo? Sería bueno si funciona con flotadores también, pero eso no es necesario. No es necesario que sea específico de la configuración regional para decidir entre puntos y comas.


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52