Обращение к текущему объекту - оператор this

Синтаксис:

this[.property] >

>

Оператор this является не столько оператором, сколько внутренним свойством языка JavaScript. Значение this представляет собой текущий объект, имеющий стандартные свойства, такие как name, length и value. Оператор this нельзя использовать вне области действия функции или вызова функции. Когда аргумент property опущен, с помощью оператора this передается текущий объект. Однако при обращении к объекту, как правило, нужно указать его определенное свойство.

Оператор this применяется для "устранения неоднозначности" объекта с помощью привязки его в область действия текущего объекта, а также для того, чтобы сделать программу более компактной.

Например, вы можете вызывать JS-функцию при обработке события OnChange, связанного с изменением содержимого поля ввода, используя оператор this для передачи текущего значения объекта:

<html>

<head>

<script language ="JavaScript">

<!--

function sendData (arg) {

alert(arg.name + "меняем содержимое поля ввода.");

}

//-->

</script>

</head>

<body>

<form>

<table>

<tr>

<td> Name: </td>

<td><input name = "persname" type="text" > </td>

</tr>

<tr>

<td> E-mail: </td>

<td><input name = "email" type="text" > </td>

</tr>

</table>

</form>

</body>

</html>

Задание текущего объекта - оператор with

Синтаксис:

with (objname); {

statements

}

Оператор with делает объект, обозначенный как objname, текущим объектом для операторов в программном блоке statements. Удобство использования этого оператора заключается в том, что такая запись позволяет сократить объем текста программы. (Это же ведь важно для web-приложений) Ниже показано, как оператор with применяется к встроенному объекту Math языка JS.

with (Math) {

document.writeln(PI);

}

Такая запись позволяет избежать использования префикса Math при обращении к константам данного объекта. Рассмотрим пример, как можно использовать оператор with применительно к объекту document:

with (parent.frames [1].document) {

writeln("Пишем сюда текст");

write("<hr>");

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: