ВУЗ:
Составители:
Рубрика:
var i=10;
var id = window.open();
var a = new Array();
Как видно из примеров, переменные могут принимать самые разные значения, при этом тип переменной определяется
контекстом.
Переменная является свойством окна. Например, мы можем открыть окно, определить в нем новую переменную и ис-
пользовать ее:
wid = window.open("","test","width=200,height=100,statusbar");
wid.document.open();
wid.document.write("<HTML><HEAD>");
wid.document.write("<SCRIPT>var t;</SCRIPT>");
wid.document.write("</HEAD><BODY>");
wid.document.write("<CENTER>Новое окно<BR>");
wid.document.write("<FORM>");
wid.document.write("<INPUT TYPE=button VALUE='Закрыть окно'
onClick=window.close();></FORM>");
wid.document.write("</CENTER></BODY></HTML>");
wid.document.close();
...
<A HREF="javascript:wid.t=window.prompt("Новое состояние:");wid. defaultStatus=t;wid.focus();void(0);>...</A>
Может ли одна и та же переменная принимать значения разных типов? Для ответа на этот вопрос рассмотрим следую-
щий пример:
var flag=0;
var cid=null;
function clock()
{
flag=1;
d = new Date();
window.document.main.document.f0.fi1.value=
d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();
cid = setTimeout("clock();",100);
}
function stop()
{
if(cid!=null)
{
clearTimeout(cid);
cid=null;
flag=0;
}
}
function wo()
{
cid = window.open("","test","width=400,height=100");
cid.document.open();
cid.document.write("<HTML><HEAD></HEAD><BODY><CENTER>");
cid.document.write("<FORM><INPUT TYPE=button
onClick='window.close();' value='Закрыть окно'></FORM></CENTER>");
cid.document.write("</BODY></HTML>");
cid.document.close();
cid.focus();
}
...
<FORM NAME=f0>
<INPUT NAME=fi1 SIZE=8 MAXLENGTH=8>
<INPUT TYPE=button VALUE="Часы(start/stop)" onClick="if(flag= 0)clock();else stop();">
<INPUT TYPE=button VALUE="Окно" onClick="wo();">
</FORM>
Можно в любом порядке нажимать на кнопки формы, и все будет работать правильно. При этом переменная cid исполь-
зуется и как идентификатор потока, и как идентификатор окна. Это означает, что JavaScript поддерживает полиморфизм, т.е.
существуют два разных объекта с одинаковыми именами.
JavaScript позволяет во всех возможных случаях проводить преобразование одних типов данных в другие. Например, в
программе используется оператор:
document.write("Общая сумма:" + total);
Если переменная total имеет значение 40, то на экране отобразится следующая строка:
Общая сумма: 40
Страницы
- « первая
- ‹ предыдущая
- …
- 106
- 107
- 108
- 109
- 110
- …
- следующая ›
- последняя »