簡體   English   中英

Javascript:大寫每個單詞的開頭。

[英]Javascript: Capitalizing the beginning of every word.

這里的功能是假設每個單詞的開頭都大寫。 我知道還有其他更簡單的解決方案,但是我對為什么這個解決方案無法正常工作有些固執。 每次返回后,它都會顯示“未定義”。

function LetterCapitalize(str) { 

  var c = str[0].charCodeAt(0);
  var letter;
  var result = "";

  if( (c >= "a".charCodeAt(0) && c <="z".charCodeAt(0)) || (c >= "A".charCodeAt(0) && c <="Z".charCodeAt(0)))
  {
    result = str[0].toUpperCase()
  }
  else
  {
    result += str[i];
  }

  for(var i=1; i<=str.length; i++)
  {
        if(str[i-1] == " ")
        {
            letter = str[i].toUpperCase()
            result += letter;
        }
        else
        {
            result += str[i];
        }
  }
       return result; 
}

如果你改變

for(var i = 1; i <= str.length; i++)

for(var i = 1; i < str.length; i++)

它會按您期望的那樣工作。 就目前而言,您將在字符串中多索引一次,這將返回undefined。

同樣,第一個if / else語句也可以完全放棄。 否則,else語句將是語法錯誤,而i is undefined

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM