Предложение with
Предложение with задает объект по умолчанию для блока операторов, определенных в его теле. Это означает, что все встречаемые в операторах этого блока свойства и методы, являются свойствами и методами указанного объекта. Применение данного оператора избавляет от необходимости указывать иерархию принадлежности объекта и сокращает исходный текст программы.
Пример 4.4.67. Использование предложения with:
//Объявление строковых объектов string1 и string2
var string1=new String("строка 1");
var string2=new String("строка 2");
//Вывод длины string1
alert("Длина строки = " + string1.length);
//Вывод результата конкатенации string1 и string2
alert("Конкатенация string1 и string2 = " +
string1.concat(" ", string2));
В этом фрагменте сценария объявлены две строки string1 и string2, а затем длина string1 и конкатенация строк string1 и string2 выводится на экран.
Используя предложение with фрагмент вывода длины строки и конкатенации строк можно записать по-другому:
//Задание объекта string1 как объекта по умолчанию
with (string1)
{
//Вывод длины string1
alert("Длина строки = " + length);
alert("Конкатенация string1 и string2 = " +
concat(" ", string2));
}
Как видно из приведенного фрагмента, имя объекта string1 для свойства length и метода concat() в теле предложения with не указывается.
Вывод этого фрагмента сценария имеет следующий вид: