|    | 
СИ-БИ техника | КВ техника | УКВ техника | Радиоизмерения | Защита от TVI | Источники питания | Софт | Расчеты | Справочники
Главная arrow Программирование arrow Java arrow Работа с переменными и их значениями  

Работа с переменными и их значениями

Начнутся народные советы с решения проблем с переменными и хранящимися в них значениями.

Как проверить существование переменной?

Проблема

Как проверить, была ли уже объявлена какая-либо переменная?

Решение

Проще всего воспользоваться оператором typeof, возвращающим в строковом виде тип значения переменной. В случае еще не объявленной переменной он вернет строку "undefined".

Вот шаблон выражения, выполняющего проверку на существование переменной:

if (typeof(<Имя проверяемой переменного) == "undefined")

<Код, выполняемый, если переменная не объявлена> else

<Код, выполняемый, если переменная объявлена>

Пример

if (typeof(pi) == "undefined") pi = 3.14;

Как избежать конфликтов имен переменных?

Проблема

Имеется большой проект, содержащий множество глобальных переменных, причем различные части этого проекта написаны разными разработчиками. Имеется ли какой-либо способ избежать конфликтов имен переменных, т. е. исключить ситуации, когда один разработчик объявляет переменную с именем, уже использованным другим разработчиком в другой части того же сценария?

Решение

Решение здесь будет чисто организационное. Нужно просто продумать систему именования глобальных переменных и строго ей следовать. Система эта может быть, скажем, такой:

<Аббревиатура проекта>_<Аббревиатура части проекта>_<Тип данных> [_<Подтип данных>]

Здесь:

Аббревиатура проекта содержит наименование проекта (скажем, emag — электронный магазин);

Аббревиатура части проекта указывает на часть проекта, разрабатываемую данным программистом (например, checkData — код, выполняющий проверку введенных покупателем данных о себе);

Тип данных обозначает тип хранящегося в переменной значения (так, если переменная хранит сведения о покупателе, Тип данных можно назвать

custData);

необязательный Подтип данных можно использовать для указания на отдельную часть данных, относящихся к заданному ранее Типу данных (для имени покупателя это может быть custName).

Народ советует

Эту систему можно расширить. Так, функции, реализующие методы объектов (о них мы поговорим далее в этой главе), могут иметь имена, начинающиеся на букву "т", а параметры функций — на букву "р". Также в имена функций, реализующих методы объектов, можно включить аббревиатуру, обозначающую объект, для которого они предназначены. Кстати, далее в своей книге автор так и делает.

Пример

var emag_checkData_custData_custName = getCustName();

Народ советует

Вообще, чем длиннее имя какой-либо переменной, тем меньше вероятность что где-то в коде встретится другая переменная с таким же именем. Следует иметь это в виду.

Как создать константу? Проблема

В коде сценария JavaScript часто используется одно и то же строковое или числовое значение. Можно ли вместо того, чтобы каждый раз указывать это значение, создать на его основе именованную константу и впоследствии использовать именно ее?

Решение

К сожалению, в отличие от других языков программирования, JavaScript не предоставляет никаких способов создать именованные константы. Но можно создать переменную, назвать ее каким-либо особым образом и присвоить ее нужное значение, создав, если можно так сказать, псевдоконстанту. Единственное "но": впоследствии не следует изменить значение этой переменной (константа она, в конце концов, или нет!).

Константы имеют одно неоспоримое преимущество. Если нам понадобится в дальнейшем изменить значение какой-нибудь константы, нам будет достаточно сделать это всего один раз — в выражении, объявляющем соответствующую переменную-псевдоконстанту. Если же мы не использовали константу, то будем вынуждены просмотреть все наши сценарии и исправить все использующие нужное нам значение выражения. А это зачастую очень трудоемко.

Пример

var EMAG_VERSION = "1.0";

document.write("Электронный магазин " + EMAG_VERSION);

document.write("Версия: " + EMAG_VERSION);

Этот сценарий сначала объявляет переменную-псевдоконстанту emag_version, хранящую номер версии электронного магазина, а потом выводит этот номер на Web-страницу в двух местах.

Народ советует

Хорошим тоном программирования считается именование констант только большими буквами. Так мы, с одной стороны, сразу дадим своим коллегам понять, что это именно константа, а с другой — избежим возможных конфликтов имен.

Также хорошим тоном программирования считается вынесение всех глобальных констант, используемых в нескольких сценариях, в отдельный файл сценариев. Этот файл можно назвать, скажем, constants.js. Разумеется, этот файл придется потом подключить к Web-странице с помощью тега

<SCRIPT SRC= "constants.js"></SCRIPT>

О файлах сценариев будет подробно рассказано в главе 2.



RLBN.ru - Электроника и компьютеры

0.1518
Hosted by uCoz