Создать литерал объекта:
var messages = {
welcome: "Welcome",
goodbye: "Goodbye",
error: "Something bad happend. Sowwy!"
};
На что вы можете ссылаться, например, так:
if (error) alert(messages.error);
Это прекрасно работает, если вы хотите реализовать несколько языков. Обычно я включаю файл на стороне сервера, который отображает объект «сообщения» в соответствии с тем, какой язык выбран в конфигурации приложения или в соответствии с UI-культурой (в случае ASP.NET).
Вот как вы бы это использовали, в строке:
<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>
В использовании литерала объекта стоит отметить, что код более многословен. Вместо использования массива, например: alert(messages[0])
, вы делаете это: alert(messages.error)
, что немного более объяснительно.
С другой стороны: все ваши сообщения определены в одном объекте, а не в куче переменных, что позволяет избежать загрязнения глобального пространства имен.
В JavaScript вы можете изменять объекты во время выполнения. Поэтому, если вы хотите добавить больше сообщений к объекту, позже в вашем коде, вы просто сделаете это:
messages.newMessageAddedLaterOnInTheCode = "This is a new message";