JSCRIPT MANUAL

Microsoft® JScript™
Копирование, прием и сравнение данных
 Описание JScript
Пред.
След.


В Microsoft JScript обработка данных зависит от типа данных.

Значение и ссылка
Числовые и логические значения (true и false) копируются, принимаются и сравниваются значениями. При копировании или приеме значения, определяется место в памяти компьютера и в него помещается значение оригинала. Если оригинал меняется, на значение копии это не влияет (и наоборот), так как копия и оригинал являются двумя различными объектами.

Объекты, массивы и функции копируются, принимаются и сравниваются в большинстве случаев по ссылке. При копировании или приеме по ссылке, вы по существу создаете указатель на оригинал, применяя указатель как копию. При изменении оригинала, вы изменяете и копию, и оригинал. Это только один объект; "копия" на самом деле не является копией, это всего лишь еще одна ссылка на данные.


Предупреждение   Вы можете изменить такое поведение для объектов и массивов, определив метод assign( ) для них.

И наконец, строки копируются и принимаются по ссылке, а сравниваются по значению.


Предупреждение  Создается множество ASCII и ANSI символов, заглавные буквы предшествуют прописным, сравнение происходит последовательно по символам. Например, "Zoo" при сравнении меньше чем "aardvark".

Прием параметров к функциям
Когда прием параметров к функциям происходит по значению, создается отдельная копия параметра, которая существует внутри функции. С другой стороны, при приеме параметра по ссылке, если функция изменяет значение этого параметра, он изменяет значение во всем сценарии.
Проверка данных
При проверке элементов по значению, происходит сравнение на равенство друг другу. Обычно, сравнение происходит поразрядно, байт к байту. При проверке по ссылке, определяется, являются ли оба элемента указателями на один оригинальный элемент. Если являются, то они равны; если нет (даже при поразрядном равенстве), то они не являются равными.

Скопированные и принятые по ссылке строки сохраняются в памяти; но невозможно изменить строки, как только они созданы, это становится возможным при их сравнении по значению. Это позволяет проверять, имеют ли две строки то же самое содержание, даже если каждая из них была создана отдельно от другой.



Перевод © 2000-2013 pauk R-T-F-M.info. Все права защищены.