Utwórz obiekt dosłowne:
var messages = {
welcome: "Welcome",
goodbye: "Goodbye",
error: "Something bad happend. Sowwy!"
};
które można następnie odniesienia, tak jak poniżej:
if (error) alert(messages.error);
Działa to doskonale, jeśli chcesz wprowadzić wiele języków. Zazwyczaj dołączam plik po stronie serwera, który renderuje obiekt "wiadomości" zgodnie z językiem wybranym w konfiguracji aplikacji lub zgodnie z kulturą UI (w przypadku ASP.NET).
Oto jak można go używać, in-line:
<head>
<!-- messages.aspx renders out the object literal -->
<script type="text/javascript" src="messages.aspx"></script>
<script type="text/javascript">
/* when messages.aspx is included it provides you with an object literal
as a global variable. The example below would alert "Something bad
happend. Sowwy!" */
if (error) alert(messages.error);
</script>
</head>
Schludny rzeczą przy użyciu przedmiotu dosłowne, jest to, że kod jest bardziej gadatliwy. Zamiast używać tablicy, na przykład: alert(messages[0])
, wykonaj następujące czynności: alert(messages.error)
, co jest nieco bardziej objaśniające.
Na marginesie: wszystkie twoje wiadomości są zdefiniowane w jednym obiekcie, zamiast definiowane przez grupę zmiennych, dzięki czemu unikasz zanieczyszczania globalnej przestrzeni nazw.
W JavaScript można modyfikować obiekty w czasie wykonywania. Więc jeśli chcesz dodać więcej wiadomości do obiektu, później w swoim kodzie, że po prostu to zrobić:
messages.newMessageAddedLaterOnInTheCode = "This is a new message";