javascript - Problem with switch -


i have code:

var str = $("#datepicker").datepicker("getdate");     var datestr = str.tostring().split(" ");     switch(datestr[1]) {         case "jan":         var datestrmon = "Яну";         break;         case "feb":         var datestrmon = "Фев";         break;         case "mar":         var datestrmon = "Мар";         break;         case "apr":         var datestrmon = "Апр";         break;         case "may":         var datestrmon = "Май";         break;         case "jun":         var datestrmon = "Юни";         break;         case "july":         var datestrmon = "Юли";         break;         case "aug":         var datestrmon = "Авг";         break;         case "sep":         var datestrmon = "Сеп";         break;         case "oct":         var datestrmon = "Окт";         break;         case "nov":         var datestrmon = "Ное";         break;         case "dec":         var datestrmon = "Дек";         break;         default:         datestr[1];     }     alert(datestrmon); 

i expect when browser alerting me datestrmon alert "Юли" ,but alerts me "undefined".why?

  1. are sure it's "july" instead of "jul"?
  2. your default: case did not assign datestr[1] datestrmon. intentional?

anyway, consider using lookup table instead of big switch.

var datestrmon = ({"jan": "Яну",                    "feb": "Фев",                    ...                    "dec": "Дек"})[datestr[1]] || datestr[1]; //                                            ^^^^^^^^^^^^^ //                                            optional, if think stuff outside of //                                            table appear , need //                                            fallback. 

Comments

Popular posts from this blog

c++ - How do I get a multi line tooltip in MFC -

asp.net - In javascript how to find the height and width -

c# - DataTable to EnumerableRowCollection -