2013-12-12 30 views
0

你可以看到,下面的函數包含一長串代碼... 我想簡化這個... 一個想法是使用多個變量,但我不想這樣做...需要簡化這個很長的javascript行

任何想法,我該如何簡化這?

function updateStatusBar() { 
    var text = textarea.value; 
    statusBar.value = "Words: " + (text.split(/\b\S+\b/g).length - 1) + " Characters: " + text.replace(/\n|[" "]/g, "").length + "/" + text.replace(/\n/g, "").length; 
} 
+3

這個問題可能是更適合於[代碼審查(http://codereview.stackexchange.com)。 –

+0

我認爲該行正在做盡可能短的工作...... –

+2

這個問題似乎是脫離主題,因爲它屬於http://codereview.stackexchange.com/ – Quentin

回答

3

您可以使用其他功能分解功能:

function updateStatusBar() { 
    var text = textarea.value; 
    statusBar.value = "Words: " + getWordCount(text) + " Characters: " + getCharCount(text); 
} 

function getWordCount(text) { 
    return (text.split(/\b\S+\b/g).length - 1); 
} 

function getCharCount(text) { 
    return text.replace(/\n|[" "]/g, "").length + "/" + text.replace(/\n/g, "").length; 
}