Оператор break
var arr = ['а','б','в','г','д'], result;
for (var i = 0; i < arr.length; i++)
{
// Ищем символ 'в' в массиве и прерываем цикл
if (arr[i] == 'в')
{
result = true;
break;
}
}
console.log((result) ? 'элемент найден' : 'элемент не найден');
Оператор continue
var sum = 0;
// Вычислить сумму не четных чисел от 0 - 10
for (var i = 0; i <= 10; i++)
{
// Если число четное вызываем новую итерацию цикла
if (i%2 == 0)
continue;
else
sum += i;
}
console.log(sum); // 25
Оператор throw
// Функция факториала числа
function factorial(number)
// Если входной аргумент не является допустимым значением,
// возбуждается исключение!
if (number < 0)
throw new Error("Число не может быть отрицательным");
// В противном случае значение вычисляется и возвращается нормальным образом
for (var i = 1; number > 1; i *= number, number--); /* пустое тело цикла */
return i;
}
console.log('5! = ', factorial(5));
console.log('-3! = ', factorial(-3));
Конструкция try/catch/finally
try {
// Запросить число у пользователя
var n = Number(prompt("Введите положительное число", ""));
// Вычислить факториал числа, предполагая,
// что входные данные корректны
var f = factorial(n);
// Вывести результат
alert(n + "! = " + f);
}
catch (ex) {
// Если данные некорректны, управление будет передано сюда
alert(ex); // Сообщить пользователю об ошибке
}
Лекция 15
Назовите по меньшей мере 5 свойств-конструкторов глобального объекта!
Свойствами-конструкторами глобального объекта являются следующие: Object, Array, String, Boolean, Number, Date, RegExp и ряд других
Что из себя представляет свойство Math глобального объекта?
Math является свойством - предопределенным объектом, содержащим свойства-методы и свойства-значения (константы) для математических вычислений.
Назовите варианты создания объектов пользователя!
оператор new к конструкторам объектов.
литеральную нотацию,
оператор new к определениям функций,
Приведите пример объекта, создаваемого конструктором Object и добавления ему свойства-метода (функции)!
var MyObj = new Object(); // Создаем объект и добавляем ему некоторые свойства
MyObj.id = 5; / / Свойство id со значением 5
MyObj.name = "Пётр"; // Свойство name со значением "Пётр"
MyObj.getName = function() // Добавляем свойство-метод (функцию)
{ return this.name;}
Приведите пример создания объекта используя литеральную нотацию!
MyObj = {id : 101, name : "George", getName : function(){return this.name;}}
Приведите пример создания объекта используя конструкцию function и добавления объекту некоторого набора свойств!
function Animal(type) { this.type = type; this.canWalk = true; } var animal = new Animal("Млекопитающееся");
Как в языке JavaScript указывается объект=прототип?
function Dog(name){this.name=name; } Dog.prototype=animal; firstDog= new Dog("Steev"); secondDog= new Dog("Kroha");
Перечислите варианты создания массивов в скриптах на JavaScript!
конструктором Array(),
конструктором Object() либо
конструктором, определяемым пользователем.
Какие методы объекта document используются для динамического формирования контента?
Объект document обладает рядом методов, обеспечивающих динамику создания документа в целом или некоторых его частей. Методы clear, open, close, write, writeln позволяют очистить окно, открыть или закрыть потоки для записи в документ, выполнить запись дополняя или заменяя текст документа.
Разработайте конструктор массива, в котором используются 3 параметра, которые определяют - число элементов, строка, определяющая тип элементов (строковые, булевские, числа, даты, объекты), значение, используемое для формирования элементов; конструктор должен проверять соответствие указанного типа типу 3-го параметра и если соответствия нет - вернуть значение null!
function makeArray(arraySize, typeOfValue, initValue) { this.len = arraySize; for (var i = 0; i <= arraySize; i++) if ((typeof (this[i])) == typeOfValue) { this[i] = initValue; } else { this[i] = null;} return this;}
Уточните 3-й и 4-й параметры метода open объекта window!(уточняю все,мало ли)
window.open(URL,name,specs,replace)
Параметр |
Описание |
||||||||||||||||||||||||||||
URL |
Необязательно. Задает адрес страницы, чтобы открыть. Если URL не указан, то новое окно с about:blank открыто |
||||||||||||||||||||||||||||
name |
Необязательно. Определяет целевой атрибут или имя окна. Поддерживаются следующие значения:
|
||||||||||||||||||||||||||||
specs |
Необязательно. Через запятую список элементов. Поддерживаются следующие значения:
|
||||||||||||||||||||||||||||
replace |
Необязательно. Определяет, создает ли URL новую запись или заменяет текущей записи в списке истории. Следующие значения поддерживаются:
|
Лекция 16
Дайте определение DOM!
Document Object Model - это не зависящий от платформы и языка программный интерфейс, позволяющий программам и скриптам получить доступ к содержимому HTML, XHTML и XML-документов, а также изменять содержимое, структуру и оформление таких документов.
Как выполнить в JavaScript контроль уровня реализации?
if (document.getElementById && document.getElementsByTagName) {
// если методы getElementById и getElementsByTagName
// то можно предположить поддержку W3CDOM..................}
if(document.implementation && document.implementation.hasFeature){………..}
Что включает уровень спецификаций 2 DOM?
Уровень спецификаций 2 включает - спецификации Ядра (Core), содержащие спецификации для любых документов, которые могут отображаться в браузерах, спецификации, отражающие особенности HTMLXML-документов, спецификации для операций с событиями, таблицами стилей, спецификации для обхода древовидной структуры документа, в том числе в цикле, подобно итерациям, и выделения "диапазонов", позволяющим преобразовывать целые фрагменты документа.
Что находится в вершине иерархии объектной модели документов?
Node
В каком интерфейсе перечислены атрибуты и методы nodeType, lastChild, replaceChild()?
Интерфейс Node
Что позволяют выполнить методы - getElementsByName, getElementById, getElementsByTagName?
Перечисленные выше методы getElementsByName, getElementById, getElementsByTagName обеспечивают доступ к отдельным объектам, соответствующим тегам в документе.
Что обеспечивают следующие свойства - - images, links, forms, anchors, содержащиеся в объекте document?
Доступ к совокупностям объектов в документе обеспечивается через свойства объекта-document - images, links, forms, anchors.
Какой самый простой способ изменения содержимого документа?
Самый простой способ изменения контента документа - это доступ к некоторому элементу, соответствующему тегу и использование его свойства innerHTML
Как можно изменить значение атрибутов в тегах документа?
Для изменения значения атрибута некоторого тега необходимо получить доступ вначале к элементу, который соответствует тегу и затем к его атрибуту (необходимо учитывать, что некоторые атрибуты доступны только для чтения).
Эквивалентны ли следующие выражения?
свойства firstChild и childNodes[0] эквивалентны
Что необходимо сделать для добавления нового элемента в документ?
Для добавления нового элемента к документу необходимо создать новый элемент и добавить его в структуру после некоторого уже существующего элемента.
Что необходимо сделать для удаления элемента из документа?
<script> var parent=document.getElementById("div1"); var child=document.getElementById("p1"); parent.removeChild(child); </script>
Напишите пример переопределения обработчика некоторого события для элемента button!
<input type="button" id="button"/> document.getElementById('button').onclick = function() { alert('Клик'); }
Какой синтаксис используется в JavaScript для изменения стиля элемента с использованием DOM?
Для изменения стиля элемента с использованием DOM в JavaScript используется следующий синтаксис:
document.getElementById(id).style.property="новое значение стиля";
где property - свойство (атрибут) таблиц стилей.
Что из себя представляет, для чего используется и как задается понятие "пространство имен"?
Ключевой особенностью объектно?ориентированных расширений Java-Script в ASP.NET AJAX является добавление функциональности пространств имен (namespaces). Они позволяют объединять функции в логические группы под общим именем. Помогают избежать конфликтов имен, когда имеется несколько функций с одинаковыми именами, но преследующих различные цели. Спецификация языка JavaScript не предусматривает наличие пространств имен, поэтому данная возможность отсутствует в самом языке. Однако платформа ASP.NET AJAX способна эмулировать пространства имен, используя для этого довольно простой прием. Этот прием заключается в следующем: сначала создается новый класс (который выступает в роли «пространства имен»), а затем создается другой (новый) класс, как свойство класса пространства имен. Это позволяет обращаться к классу с использованием нотации ИмяКлассаПространстваИмен.ИмяВашегоКласса.
Что означает запись document.implementation.hasFeature?
В DOM Level 1, 2, и 3 спецификации, есть один способ, который позволит вам проверить уровень какие уровни спецификации DOM поддерживаются в определенном Веб-браузер: document.implementation.hasFeature(есть, уровень). Она возвращает true, если указанная функция и уровня, поддерживаемого Веб-браузера. Обратите внимание, что уровень должен быть указан в формате dot как 1.0, 2.0 и 3.0.
Лекция 17
В чем проявляется внешнее сходство технологий ASP, JSP, PHP?
В теле HTML-страницы размещаются теги, содержащие сценарии, написанные на языках Java, JavaScript, VBScriptили PHP. Например страница на ASP — это обычная страница HTML, со вставками, обозначенными ограничителями <% и %>:
В чем состоит главное отличие технологий ASP, JSP, PHP?
Главное отличие состоит в том, что Страницы JSP используют технологию JavaBeansTM в качестве компонентной архитектуры, а страницы ASP - компоненты ActiveX.Страницы ASP всегда интерпретируются также как и PHP-страницы.
Какими способами может осуществляться взаимодействие PHP-интерпретатора и соответственно скрипта с сервером?
Имеется 2 способа кофигурированияApache для использования PHP
-Конфигурирование Apache для применения PHP интерпретатора как модуля сервера,
-Конфигурирование Apache для исполнения PHP интерпретатора как cgi-скрипта*.
Какие файлы отвечают за настройку сервера Apache?
3 файла конфигурации сервера
httpd.conf - настройки самого сервера,
srm.conf - определяются конфигурации ресурсов Веб-узла (в частности указываются синонимы для части путей файловой системы ОС),
access.conf - настройки управления доступом (например разрешается использование для некоторого каталога cgi-скриптов).
Условно использование GET разделяется на 2 способа, - какие?
запросы типа isindex,
запросы типа form-urlencoded.
В каких случаях следует применять метод передачи сообщения POST?
Метод POST используется для передачи больших объемов информации.
Перечислите 2-3 дополнительных метода обмена сообщениями по протоколу HTTP помимо GET и POST!
Метод HEAD - используется не для передачи данных, а только для управления обменом и отображением. PUT - Применяется для загрузки содержимого запроса на указанный в запросе ресурс (URI). Другие методы - DELETE, TRACE, CONNECT и др.
Как выглядит формат HTTP-запроса ?
Формат HTTP-запроса, передаваемого клиентом серверу
Строка запроса.
Заголовки запроса и тела запроса.
Пустая строка.
Тело запроса.
Как выглядит строка запроса?
МЕТОД<SP>URI<SP>HTTP/версия<CRLF>
где <SP> - пробел, а <CRLF> - перевод на новую строку, HTTP/версия - обычно HTTP/1.0.
Метод, указанный в строке состояния, определяет способ воздействия на ресурс, URL которого задан в той же строке. Метод может принимать значения GET, POST, HEAD, PUT, DELETE и т.д.
Для чего используется заголовок Content-Type при передаче данных по протоколу HTTP?
Content-Type: Содержит тип ресурса (MIME), для текстовых еще и кодировку символов
Каквыглядит ответ сервера клиенту?
Ответ сервера состоит из четырех перечисленных ниже компонентов.
Строка запроса.
Поля заголовка.
Пустая строка.
Тело ответа.
Ответ сервера клиенту начинается со строки запроса, которая имеет следующий формат:
Версия_протоколаКод_ответаПояснительное_сообщение
Версия_протокола задается в том же формате, что и в запросе клиента, и имеет тот же смысл.
Код_ответа - это трехзначное десятичное число, представляющее в закодированном виде результат обслуживания запроса сервером.
Пояснительное_сообщение дублирует код ответа в символьном виде. Это строка символов, которая не обрабатывается клиентом. Она предназначена для системного администратора или оператора, занимающегося обслуживанием системы, и является расшифровкой кода ответа.
Перечислите 2-3 MIME-типа из наиболее употребимых!
application/pdf |
|
application/msword |
|
|
image/ jpeg |
|
text/html |
|
Лекция 18
Опишите взаимодействие PHPи данных вне тегов php!
PHPвключает множество встроенных функций для взаимодействия с внешней средой.Весь текст, что не входит в контейнер php, поступает в выходной поток.Сервер перехватывает выходной поток php-препроцессора и когда тот завершает работу формирует сообщение к браузеру по протоколу http, приформировывая необходимые заголовки. Если указан запрос php-файла сервер строит "контекст" для вычисления php-скрипта.
Что содержит переменная среды вычислений скрипта REQUEST_METHOD?
REQUEST_METHOD – Это одна из самых главных переменных используемая для определения метода запроса HTTP.
Пример:REQUEST_METHOD=GET.
Что содержит переменная среды вычислений скрипта QUERY_STRING?
QUERY_STRING - Этостроказапросаприметоде GET.
Пример:QUERY_STRING= name=Comandor&age=19&hobby=games
Каким образом PHP-программа получает доступ к переменным среды вычислений скрипта?
PHP-программа получает доступ к этим переменным используя в скриптах некоторые зарезервированные имена, такие как - $_SERVER, $_GET, $_POST, $_FILES, $_COOKIE, $_SESSION, $_REQUEST, $_ENV и др.
Укажите возможные формы записи PHP-тегов!
Php-код размещается в контейнере<? ... ?>.
Универсальный способ спецификации PHP-кода - теги <?php ... ?>.
Если необходимо разрабатывать скрипты, работающие независимо от данной настройки, надо использовать длинный открывающий тег <?php.
Для чего используется оператор echoв PHP?
Единственный оператор, который что-либо выталкивает в выходной поток изнутри контейнера php это оператор echo.
Как записываются имена переменных в PHP?
Имена всех переменных в PHP должны начинаться со знака $.
Имена переменных чувствительны к регистру букв: например, $var — не то же самое, что $Var или $VAR.
В PHP не нужно ни описывать переменные явно, ни указывать их тип.$var = "Bob";
Как выполняется удаление переменной в PHP-программе?
Удаление переменной PHP реализуется оператором unset(), который желательно использовать при хранении в переменных данных, занимающих большой объем памяти.
// разрушить одну переменную - unset ($foo);
// разрушить один элемент массива - unset ($bar['quux']);
// разрушить более одной переменной - unset ($foo1, $foo2, $foo3);
Если необходимо удалить глобальную переменную внутри функции, то можно использовать массив $GLOBALS:
function foo() {...
unset($GLOBALS['bar']);
}
Для чего используется встроенная функция is_array(имя_переменной)?
Можно проверить, существует ли (то есть, инициализирована ли) указанная переменная
if(isset($myvar))
is_array(имя_переменной) — возвращает true, если переменная является массивом.
Перечислите типы данных PHP!
Скалярные типы данных следующие - Двоичные данные (boolean), Целые числа (Integer), Числа с плавающей точкой (Float или Double), Строки (String).
Смешанные типы данных - Массивы (Array) и Объекты (Object).
Специальные типы данных - Ресурсы (Resource) и Пустой тип (NULL).
Псевдотипы данных - Смешанный (Mixed), Числа (Number), Обратного вызова (Callback).
Рассмотрим некоторые из этих типов данных.
Какие данные могут интерпретироваться в PHPкак булевское значение FALSE?
- сама константа FALSE, - 0 или 0.0, - пустая строка или строка “0”, - пустой массив и – специальное значение NULL.
Какими способами может быть записана строка в PHP?
Строка может быть определена тремя различными способами
одинарными кавычками
двойными кавычками
heredoc-синтаксисом.
Как трактуется содержимое строки с одинарными кавычками?
Чтобы использовать одинарную кавычку внутри строки, ее необходимо предварить символом обратной косой черты (\), т. е. экранировать ее. Если обратная косая черта должна идти перед одинарной кавычкой либо быть в конце строки, необходимо продублировать ее. Если будет сделана попытка экранировать любой другой символ, обратная косая черта также будет напечатана!В отличие от двух других синтаксисов, переменные и экранирующие последовательности для специальных символов, встречающиеся в строках, заключенных в одинарные кавычки, не обрабатываются (т.е. подстановка значений переменных не выполняется).
Как трактуется содержимое строки с двойными кавычками?
Если строка заключена в двойные кавычки ("), PHP распознает управляющие символы, такие как табуляция, новая строка и т.п. Самым важным свойством строк в двойных кавычках является подстановка значений переменных.Если интерпретатор встречает знак доллара ($), он захватывает так много символов, сколько возможно, чтобы сформировать правильное имя переменной. Если необходимо точно определить конец имени, то лучше заключить имя переменной в фигурные скобки. В фигурных скобках можно размещать и более сложные выражения, такие как обращения к элементам многомерных массивов.
Как выполняется приведение типов в PHP?
Приведение типов в PHP работает так же, как и в C - имя требуемого типа записывается в круглых скобках перед приводимой переменной.
<?php $foo = 10; // $foo это целое число $bar = (boolean) $foo; // $bar это булев тип ?>
За счет каких операторов расширено множество операторов сравнения?
Операторы сравнения несколько расширены - Тождественно не равно (!==), Тождественно равно (===), Оператор Не равно может быть представлен двояко (!= или <>)
Какие операторы применяются к массивам?
Ряд операторов применяется к массивам – Объединение массивов (+), Равно (==, возвращает TRUE в случае, если массивы содержат одни и те же элементы), антиподом предыдущей операции является - Не равно (<> или !=), Тождественно равно (===, возвращает TRUE в случае, если массивы содержат одни и те же элементы в том же самом порядке), антиподом предыдущей операции является - Тождественно не равно (!==).
Что представляют из себя типы - Смешанный (Mixed) и Числа (Number)?
ПсевдотипыNumber или Mixed можно использовать (необязательно), чтобы указать, что аргумент или возвращаемое функцией значение Числовой или Произвольный тип.
Как записывается комментарий в php-программе?
// однострочный комментарий (для PHP)
# однострочный комментарий (для PHP)
/* многострочный комментарий */
Перечислите возможные значения settype и $type в функции settype($a,$type).
Функция пытается привести тип переменной $a к типу $type ($type — одна из строк, возвращаемых gettype(), кроме boolean). Если это сделать не удалось (например, в $a "нечисловая" строка, а мы вызываем settype($a,"integer")), возвращает false.
Тип «переменные» – что представляют собой и где можно применить?
Тип переменной определяется объектом данных, с которым она связана в текущий момент времени в процессе вычислений. Переменная PHP создается при первом ее упоминании в программном коде с использованием присваивания ей некоторого значения.Применяеться в вычислениях и т.д.
Лекция 19
Охарактеризуйте 2 типа массивов PHP!
Существует два типа массивов, различающиеся по способу идентификации элементов
Простые массивы, у которых используются целочисленные индексы и
Ассоциативные массивы, у которых для доступа к элементам используются как символьные так и числовые ключи.
Приведите пример создания 2-мерного ассоциативного массива!
Начало формы
Листинг № 2 - Ассоциативный двумерный массив.
Конец формы
Начало формы
<?php // массив Машины $m = array('Honda','Hummer','BMW','Toyota'); // массив Самолёты $s = array('AH','TU-144','Boing','СУ'); // массив Танки $t = array('Тигр','Пантера','Т-34','Аль Халид'); // массив Корабли $k = array('Кузнецов','Ямато','Ясень','Петропавловск'); // двумерный массив Техника $TH = array('Машины'=>$m, 'Самолёты'=>$s, 'Танки'=>$t, 'Корабли'=>$k); ?>
Конец формы
Для каких целей используются перечисленные функции - Функция count(),array_merge(),array_slice()?
Существует множество системных функций для работы с массивами, в том числе для сортировки, распределения элементов случайным образом, свопинга элементов вместе с ключами, вставки и удаления элементов, слияния массивов и т.п. Функция count() вычисляет число элементов в массиве. Операция + и функция array_merge() выполняют слияние массивов. Для получения части массива можно использовать функцию array_slice().
Для чего используется и как выглядит альтернативный синтаксис PHP?
PHP предлагает альтернативный синтаксис для некоторых его управляющих структур, а именно: if, while, for, foreach и switch. В каждом случае основной формой альтернативного синтаксиса является изменение открывающей фигурной скобки на двоеточие (:), а закрывающей скобки в конце конструкции на endif;, endwhile;, endfor;, endforeach; или endswitch; соответственно. В середине конструкции else и elseif также записываются с двоеточием.
Допустимо ли смешивание альтернативного и обычного синтаксиса в пределах одной и той же конструкции PHP?
Смешивание альтернативного и обычного синтаксиса в пределах одной и той же конструкции недопустимо.
В чем отличие require от include?
В отличие от конструкции require конструкция include позволяет включать файлы в код PHP скрипта во время выполнения сценария.
Для каких целей используются включения require_once и include_once?
Используя конструкции однократного включения require_once и include_once, можно быть уверенным, что один файл не будет включен дважды. Отличие конструкций однократного включения require_once и include_once от require и include лишь в том, что перед включением файла интерпрететор проверяет, включен ли указанный файл ранее или нет. Если да, то файл не будет включен вновь.
Какова область видимости пользовательских функций?
Пользовательские функции все имеют одну и ту-же область видимости – программу (так-же как в ЯП С). Функции могут вовращать в качестве результата любой тип данных, доступны параметры по умолчанию, значения переменных, переданных в качестве аргумента можно изменять, можно выполнять вызов с переменным числом аргументов. Имена функций задаются как имена переменных, но без лидирующего знака доллара.
Что означает запись - function &s () {…}?
В примере декларируется функция с параметроч по-умолчанию и используются 3 встроенные функции - func_num_args() возвращает колличество аргументов, переданных пользовательской функции, - func_get_arg() возвращает элемент из списка переданных пользовательской функции аргументов, - func_get_args() возвращает массив аргументов, переданных пользовательской функции.
Для чего в PHP используется оператор declare?
Конструкция declare используется для установки директив исполнения для блока кода.
Приведите пример использования оператора foreach!
<?php $names["Иванов"] = "Андрей"; $names["Петров"] = "Борис"; $names["Волков"] = "Сергей"; $names["Макаров"] = "Федор"; foreach ($names as $key => $value) { echo "<b>$value $key</b><br>"; } ?>
Лекція 20
Что из себя представляют локальные переменные?
Локальные переменные - переменные, определенные внутри пользовательской функции. Они доступны только внутри функции, в которой они определены.
Что из себя представляют глобальные и суперглобальные переменные?
Глобальные переменные - это переменные, которые доступны всей программе, включая пользовательские функции.
Суперглобальные переменные определяют состояние среды выполнения программы. Их значения устанавливаются элементами внешней среды. Ими являются: $GLOBALS, $_SERVER, $_GET, $_POST, $_FILES, $_COOKIE, $_SESSION, $_REQUEST, $_ENV. $GLOBALS – представляет собой массив, содержащий все глобальные переменные декларированные в программе. Переменная $_SERVER - это массив, содержащий информацию, такую как заголовки, пути и местоположения скриптов. Записи в этом массиве создаются Web-сервером.
Какие категории функций выделяются для работы с файловой системой?
Функции для работы с файловой системой разделяются по категориям
Функции для прямого ввода/вывода
Функции для работы с каталогами
Функции для операций с файлами и ввода-вывода
Функции для работы с каталогами выполняют такие операции как переопределение текущего каталога, получение информации о каталоге, определение списка файлов и каталогов, расположенных по указанному пути.
Функции для операций с файлами и ввода-вывода включают набор функций для открытия и закрытия файлов, определения свойств файлов и установки режимов ввода и вывода, выполнения посимвольных и построчных операций ввода-вывода, в т.ч. форматных.
Основное отличие функций для работы с файловой системой, которые используются в PHP состоит в том, что они могут трактовать некоторые параметры как URL и обеспечивать в этом случае удаленный доступ к ресурсам.
Перечислите режимы открытия файлов в PHP!
'r' |
Открывает файл только для чтения; помещает указатель в начало файла. |
'r+' |
Открывает файл для чтения и записи; помещает указатель в начало файла. |
'w' |
Открывает файл только для записи; помещает указатель в начало файла и обрезает файл до нулевой длины. Если файл не существует - пробует его создать. |
'w+' |
Открывает файл для чтения и записи; помещает указатель в начало файла и обрезает файл до нулевой длины. Если файл не существует - пытается его создать. |
'a' |
Открывает файл только для записи; помещает указатель в конец файла. Если файл не существует - пытается его создать. |
'a+' |
Открывает файл для чтения и записи; помещает указатель в конец файла. Если файл не существует - пытается его создать. |
'x' |
Создаёт и открывает только для записи; помещает указатель в начало файла. Если файл уже существует, вызов fopen() закончится неудачей, вернёт FALSE и выдаст ошибку уровня E_WARNING. Если файл не существует, попытается его создать. Это эквивалентно указанию флагов O_EXCL|O_CREAT для внутреннего системного вызова open(2). |
'x+' |
Создаёт и открывает для чтения и записи; иначе имеет то же поведение что и'x'. |
'c' |
Открывает файл только для записи. Если файл не существует, то он создается. Если же файл существует, то он не обрезается (в отличии от 'w'), и вызов к этой функции не вызывает ошибку (также как и в случае с 'x'). Указатель на файл будет установлен на начало файла. Это может быть полезно при желании заблокировать файл (смотри flock()) перед изменением, так как использование 'w' может обрезать файл еще до того как была получена блокировка (если вы желаете обрезать файл, можно использовать функцию ftruncate() после запроса на блокировку). |
'c+' |
Открывает файл для чтения и записи; иначе имеет то же поведение, что и 'c'. |
Что означает запись - $_POST['username']?
Через суперглобальный массив $_POST передается методом post из формы значение формы name='username'
Что означает запись - ], $HTTP_POST_VARS['username']?
Ассоциативный массив данных, переданных скрипту через HTTP метод POST.
$HTTP_POST_VARS содержит аналогичный набор данных, но не является суперглобальным. ($HTTP_POST_VARS и $_POST являются разными переменными и обрабатываются PHP независимо друг от друга)
Изучить назначение, синтаксис и семантику оператора declare.
Конструкция declare используется для установки директив исполнения для блока кода. Синтаксис declare схож с синтаксисом других конструкций управления исполнением:
declare (directive)
statement
<?php // выполняется одинаково: // можно так: declare(ticks=1) { // прочие действия } // или так: declare(ticks=1); // прочие действия ?>
Сравнить операторы языка с аналогичными операторами языка С, в т.ч. оператора if-else-elseif.
Поскольку язык РНР есть язык семейства С, то он соответственно имеет аналогичные представления и назначение операторов, среди которых if <?php if (логическое выражение) оператор; ?>
If-else if (логическое_выражение) инструкция_1; else инструкция_2;
Elseif – рассширяет if-else if (логическое_выражение_1) оператор_1; elseif (логическое_выражение_2) оператор_2; else оператор_3;
Лекция 21
Что из себя представляет Ajax?
Ajax - это не самостоятельная технология , а идея, которая базируется на 2-х основных принципах:
• использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью, например: - с использованием XMLHttpRequest (основной объект), - через динамическое создание дочерних фреймов, - через динамическое создание тега script, - через динамическое создание тега img, как это реализовано в google analytics (бесплатный сервис, предоставляемый Google для создания детальной статистикипосетителей веб-сайтов. Статистика собирается на сервере Google, пользователь только размещает JS-код на страницах своего сайта.).
• использование DHTML (Dynamic HTML) для динамического изменения содержания страницы.
Действия с интерфейсом преобразуются в операции с элементами DOM, с помощью которых обрабатываются данные, доступные пользователю, в результате чего представление их изменяется. В качестве формата передачи данных могут использоваться фрагменты простого текста, HTML-кода, JSON или XML.
Перечислите 3 библиотеки из списка приведенного в лекции!
Dojo ( http//www.dojotoolkit.org ) - библиотека содержит преднастроенные компоненты для элементов пользовательского интерфейса, предлагает возможности по сортировке таблиц, 2-х векторную графику, эффекты анимации, содержит собственное локальное хранилище данных,
ExtJS ( http//www.sencha.com/products/extjs/ ) - может совместно работать с jQuery и PrototypeJS, обеспечивает работу с модальными диалоговыми окнами, включает работу с панелями, древовидными списками, таблицами и пр.,
jQuery ( http//jquery.com/ ) - предлагает операции для работы с элементами DOM, CSS и навигации по ним, а также функции для регистрации и обработки событий, обеспечивает визуальные эффекты и поддержку Ajax-технологии,
PrototypeJS ( http//www.prototypejs.org/ ) - может поставляться автономно или в составе крупных проектов, совместно с Ruby on Rails или с библиотекой Scriptaculous, включает возможность имитации классов объектно-ориентированного программирования,
Scriptaculous ( http//script.aculo.us/ ) - реализована на базе библиотеки PrototypeJS и добавляет возможности визуальных эффектов,
Yahoo UI ( http//developer.yahoo.com/yui/ ) - библиотека расширяет возможность обработки событий и преобразований DOM
Как установить соединение с библиотекой jQuery через Сеть?
Прописать в тэг <head> следующее
<script src="http://jquery.com/src/jquery-latest.js">
</script>
Как установить соединение с библиотекой jQuery скачав ее предварительно в каталог своего Веб-приложения?
Указать ссылку на свой каталог
<script src="scripts/jquery-latest.js">
</script>
Что выполняет метод jQuery - ready?
Добавляет функцию, выполняющуюся всякий раз, когда объектная модель документа (DOM) готова к использованию. Вероятно, это самая важная функция в разделе событий, так как она может значительно улучшить время отклика Ваших веб-приложений. При использовании данного метода Ваша функция будет вызвана немедленно после того, как объектная модель готова к использованию. В качестве аргумента, передаваемого обработчику событий, используется ссылка на функцию jQuery.
Что выполняет метод jQuery - hide?
hide() - скрывает указанные элементы, в примере это текст абзаца
Что выполняет метод jQuery - prepend?
prepend() - добавляет контент внутрь указанных элементов
Что выполняет метод jQuery - toggle?
toggle() - переключает режим отображения элемента, т.е. если он отображается, то гасит его и наоборот
Что выполняет метод jQuery - preventDefault?
preventDefault() - отменяет действия стандартных обработчиков событий.
Лекция 22
Какими возможностями обладает библиотека jQuery?
переход по дереву DOM
назначение обработки событий
формирование визуальных эффектов
Ajax-дополнения
JavaScript-плагины
Для чего в используется функция $?
Взаимодействие с jQuery в скрипте осуществляется с помощью функции $.
Что делать, если другая библиотека помимо jQuery использует идентификатор $?
Если в приложении применяются другие библиотеки, где $ уже используется, то ее можно заменить синонимом jQuery.
Приведите 2-3 примера css-подобных селекторов используемых в функции $!
$('#el') - выбор элемента с id=el
$('div, a') - выбор всех div и a - элементов
$('div > a') - выбор всех a - элементов, являющихся прямыми потомками элементов div
Приведите 2-3 примера селекторы атрибутов используемых в функции $!
$('div[@fast]') - выбираются элемены div с атрибутом fast,
$('p[@fast$=bar]') - выбираются элемены p с атрибутом fast, значения которого заканчиваются на bar.
Приведите 2-3 примера нестандартных селекторов используемых в функции $!
$('div[@fast]:even') - выбираются четные div-элементы с атрибутом fast
$('div:empty') - выбираются все пустые div-элементы
Что выполняет метод append(content) библиотеки jQuery?
append(content) - добавить элемент или выражение content в конец выбранного элемента,
Что выполняет метод prepend(content) библиотеки jQuery?
prepend(content) - добавить элемент или выражение content в начало выбранного элемента,
Что выполняет метод attr(name) библиотеки jQuery?
attr(name) - получить значение атрибута name,
attr(params) - установить значения атрибутов, атрибуты передаются в виде {key1:value1, key2:value2,…},
Что выполняет метод click() библиотеки jQuery?
click() - вызывает событие click для каждого выбранного элемента,
click(function) - назначает некоторую функцию для обработки события click,
Что лежит основе реализации Ajax-технологии в jQuery?
В основе реализации Ajax-технологии в jQuery лежит использование объекта XMLHttpRequest. Обмен данными между клиентом и сервером осуществляется с использованием интерфейса указанного объекта. jQuery специфицирует и реализует некоторую универсальную оболочку вокруг XMLHttpRequest, обеспечивая, таким образом, кросс-браузерность для используемой технологии.
Каковы возможные типы или форматы передаваемых данных в реализации Ajax-технологии в jQuery?
В общем случае функции jQuery, реализующие технологию Ajax требуют указания типа (формата) данных, которые должны быть получены в результате ответа на запрос. В некоторых случаях тип данных определяется используемой функцией (или методом), но в ряде случаев необходимо явно указать в тип данных, как например в опции dataType библиотечной функции ajax. Возможные типы или форматы передаваемых данных
text - передача простых строк текста,
html - передаются html-элементы для размещения на странице,
script - передаются скрипты для размещения на странице,
json - универсальный формат для передачи текста, массивов, объектов (см. описание языка http://json.org/),
jsonp - формат используется для передачи данных от домена, отличающегося от текущего,
xml - передача данных в формате xml (является базой для создания html).
Как записывается основной метод библиотеки jQuery для передачи запроса к серверу?
$.get( "foo.php", function( response ) { // запрос к серверу - в качестве скрипта URL - foo.php
// обработка ответа сервера - response (в этом аргументе может содержаться строка, данные в формате JSON и т.п.)
});
Синтаксис формата передачи данных Jason?
$.getJSON("test.js", function(json){
alert("JSON Data: " + json.users[3].name);
});
Изучить методы для поддержки Ajax-технологии в jQuery - jQuery.get(), jQuery.post(), .load(), jQuery.getJSON()? .ajaxSuccess()!
Метод jQuery.post() является сокращенным Ajax-методом, и эквивалентен следующей конструкции:
1 |
$.ajax({ |
|
2 |
type: 'POST', |
|
3 |
url: url, |
|
4 |
data: data, |
|
5 |
success: success |
||
6 |
dataType: dataType |
||
7 |
}) |
||
|
|
|
|
$.get() является сокращенным вариантом функции $.ajax(), вызванной со следующими параметрами:
$.ajax({
url: url,
data: data,
success: success,
dataType: dataType
});
$(document).ready(function(){
$("#but1").click(function(){
$("#par1").load("testfile.txt");
});
$("#but2").click(function(){
$("#par2").load("testfile.txt",function(){alert("Запрос успешно исполнен")});
});
$("#but3").click(function(){
$("#par3").load("add.php","x=10&y=6");
});
$("#but4").click(function(){
$("#par4").load("filterex.html #show");
});
$("#but5").click(function(){
$("#par4").load("filterex.html");
});
});
jQuery.getJSON( url [, data] [, success(data, textStatus, jqXHR)] )
url Тип: Строка адрес, на который отправляется запрос. data
Тип: Объект
данные, отправляемые на сервер в виде формате map (наборы ключ:значение) или string (строка)
success(data, textStatus, jqXHR)
Тип: Функция
функция, вызываемая при успешном завершении ajax-запроса.
Лекция 23
Как выполняется контроль поддержки и создание объекта HttpRequest?
Объект XMLHttpRequest создается следующим образом
Для Internet Explorer varxmlHttp = new ActiveXObject("Maxm12.XMLHTTP"); или varxmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
Длядругихбраузеров varxmlHttp = new XMLHttpRequest();
Можно применить универсальный код, подходящий для всех браузеров, выполняющий перебор вариантов создания объекта
if (window.XMLHttpRequest)
{ xmlHttp = new XMLHttpRequest(); }
else if (window.ActiveXObject)
{ try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
catch (Exception){ xmlHttp = new ActiveXObject("Maxm12.XMLHTTP"); }
}
Далее в скрипте можно применять методы и получать доступ к свойствам объекта XMLHttpRequest ссылаясь на него через переменную xmlHttp.
Перечислите 3-4 свойства объекта HttpRequest!
onreadystatechange - ссылается на функцию-обработчик состояний запроса, связанная с ним функция вызывается каждый раз при смене статуса (состояния) объекта,
readyState - число, обозначающее статус объекта в диапазоне 0-4, 4 - соответствует состоянию "объект полностью инициализирован и получен ответ от сервера",
responseText - текст ответа сервера, полный текст есть только при readyState=4, ряд браузеров дают доступ к полученной части ответа сервера при readyState=3,
responseXML - ответ сервера в виде XML, при readyState=4. Это свойство хранит объект типа XML document, с которым можно обращаться так же, как с обычным document. Например так varauthorElem = xmlhttp.responseXML.getElementById('author'). Чтобы браузер разместил ответ сервера в свойство responseXML, в ответе должен быть заголовок Content-Type:text/xml. иначе свойство responseXML будет равно null,
status - статусный код ответа сервера: 200 - OK, 404 - NotFound, и т.п.
statusText - Текстовая расшифровка status, например "NotFound" или "OK".
Перечислите 2-3 метода объекта HttpRequest!
open() - инициализирует запрос к серверу с указанием метода, полная форма метода - open( method, URL, async, userName, password ), где обязательны первые 2 параметра. Первый параметр method - HTTP-метод. Как правило, используется "GET" либо "POST", хотя доступны и другие из ранее перечисленных - TRACE/DELETE/PUT и т.п. URL - адрес запроса. Можно использовать не только HTTP/HTTPS, но и другие протоколы, например FTP и FILE, async = true задает асинхронные запросы, userName, password - строки-данные для авторизации,
send() - отсылает запрос, аргумент - тело запроса. У GET-запроса тела нет, поэтому применяется форма send(null), а для POST-запросов тело содержит параметры запроса,
abort() - отменяет текущий запрос к серверу,
setRequestHeader(name, value) - устанавливает заголовок name запроса со значением value. Если заголовок с таким name уже есть - он заменяется. Например, xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
getAllResponseHeaders() - возвращает строку со всеми HTTP-заголовками ответа сервера,
getResponseHeader(headerName) - возвращает значение заголовка ответа сервера с именем headerName.
Как в общем выглядит запрос к серверу?
При событии onchange элемента input1 формы, - отправим данные ( value элемента inputl ) на сервер
<input id=input1 name=input1 value=10 onchange="f_ajax1(this.value)">
Функцию-обработчик события разместим в скрипте
function SendRequest(arg)
{
varurl="filel.php":
// Назначаем пользовательский обработчик
xmlHttp.onreadystatechange = f_answer1;
// Инициализируем соединение
xmlHttp.open("post" ,url, true);
// Отправляем заголовок
xmlHttp.sеtRеquеstНеаdеr("Соntеnt-Туре" , "application/x-www-form-urlencoded;
charset=utf-8") ;
// Посылаем запрос
xmlHttp.send(arg);
Варианты ответа сервера:
