我試圖將每個單詞的第一個字母轉換爲大寫,例如:「hello world」應該是「Hello World」。將每個單詞的第一個字母轉換爲大寫字母JS
這是我的代碼到目前爲止。
function test() {
var doc = document.getElementById("testInput").value;
var str = doc.replace(/\w\S*/g, doc.charAt(0).toUpperCase() + doc.substring(1).toLowerCase());
document.getElementById("tst").innerHTML = str;
}
而且讓我們說我輸入的 「Hello World」,預期的結果是 「Hello World」 的 但我得到的是 「世界,你好你好世界」。
所以我的問題是,它只分配第一個單詞,跳過第二個,但它打印兩次。
這就像我想要的一樣!但是,你能否解釋一下爲什麼會這樣?「函數(txt)」如何知道它應該將doc作爲參數? – Marik
'.abc'變成'.Abc'並且'+ abc'變成'+ Abc'是否有效? –
所以這裏發生的事情是,你只是一次一個地傳遞子串。首先,你自己傳遞「hello」,它被分配給txt變量。然後以「你好」的形式返回。然後,你傳入分配給txt變量的「世界」。然後它被作爲「世界」返回。這提供了「Hello World」的最終結果。 –