Предложение 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 не указывается.

Вывод этого фрагмента сценария имеет следующий вид: