- •Саратовский государственный технический университет
- •Введение
- •Три уровня web-документа
- •Навигация
- •Глава 1. Основы Java Script
- •Рекомендации по использованию JavaScript
- •Добавление JavaScript кода в html документы
- •Сокрытие сценариев от устаревших браузеров
- •Определение языка сценариев
- •Атрибут language
- •Атрибут defer
- •1.2. Ввод и вывод данных
- •Alert(сообщение);
- •Confirm(сообщение);
- •Вывод в тело документа
- •Практические задания
- •1.3. Типы данных и значения
- •Целые литералы
- •Шестнадцатеричные и восьмеричные литералы
- •Литералы вещественных чисел
- •Работа с числами
- •Специальные числовые значения
- •Строковые литералы
- •Управляющие последовательности в строковых литералах
- •Преобразование чисел в строки
- •Логические значения
- •Преобразование логических значений
- •Функции
- •Функциональные литералы
- •Объекты
- •Объектные литералы
- •Значение null
- •Значение undefined
- •Объекты Error
- •Преобразование типов
- •Имена переменных
- •Создание переменных
- •Var имя_переменной;
- •Типизация переменных
- •Область видимости переменной
- •Var X; // Объявляем неинициализированную переменную. Значением ее является undefined
- •Элементарные и ссылочные типы
- •Комментарии
- •Арифметические операторы
- •Операторы сравнения
- •Операторы сравнения
- •Оператор in
- •Оператор instanceof
- •Строковые операторы
- •Логические операторы
- •Присваивание с операцией
- •Условный оператор (?:)
- •Оператор typeof
- •Оператор создания объекта (new)
- •Оператор delete
- •Глава 2. Инструкции Java Script
- •Инструкция if - оператор условного перехода
- •If (условие)
- •If (условие1) {
- •If (!х) {// Если переменная username равна null, undefined, 0, "" или NaN, она
- •If (!X) alert('Bы ничего не ввели")
- •Инструкция else if
- •Инструкция switch
- •Практические задания
- •Операторы цикла
- •Инструкция while
- •Цикл do/while
- •Инструкция for
- •I f (условие2){
- •Инструкция for/in
- •Инструкция break
- •Инструкция continue
- •Практические задания
- •Инструкция var
- •Инструкция function
- •Инструкция return
- •Инструкция throw
- •Инструкция try/catch/finally
- •Инструкция with
- •Пустая инструкция
- •Глава 3 Объекты
- •Создание объектов
- •Свойства объектов
- •Объекты как ассоциативные массивы
- •Свойства и методы универсального класса Object
- •Объект String (Строка)
- •Методы String обработки строк
- •X.Split(" ") /* значение - массив из элементов: "Привет", "всем" */
- •Методы String форматирования строк
- •Функции вставки и замены подстрок
- •Insstr ("Привет, друзья", " мои", 7) // "Привет, мои друзья"
- •Insstr("Привет, друзья", " мои", 100) // "Привет, друзья мои"
- •Практическое задание
- •Массивы
- •Чтение и запись элементов массива
- •Добавление новых элементов в массив
- •Длина массива
- •Многомерные массивы
- •Методы массивов
- •Функции обработки числовых массивов
- •Практическое задание
- •Практические задания
- •Объект Date
- •Аргументы
- •Статические методы
- •Практические задания
- •Объект Math (Математика)
- •Свойства Math
- •Методы Math
- •Таймеры
- •If (confirm("Прервать процесс ?"))
- •Глава 4 Основы создания сценариев
Методы String форматирования строк
Как известно, тексты на веб-страницах обычно создаются и форматируются с помощью тегов HTML. Однако тексты можно создавать на веб-страницах и с помощью сценариев. Например, чтобы вывести на веб-страницу строку "Привет всем!" полужирным шрифтом, в HTML-коде следует написать следующую инструкцию:
<В>Привет всем!</В>
Чтобы подготовить эту же строку в таком же формате средствами JavaScript, в сценарии следует написать такое выражение:
"Привет всем!".bold()
Здесь использован метод bold() строкового объекта для форматирования строк.
Выполнение этого выражения лишь создает отформатированную строку, но не выводит ее в окно браузера. Чтобы сделать это, следует еще выполнить метод write() объекта document для записи этой строки в HTML-документ. Ниже приведен пример кода.
<нтмl>
<script>
х = "Привет всем!".bold()
document.write(x)
</script>
<р>Приветствие было вставлено сценарием JavaScript</p>
</HTML>
Методы форматирования строк носят названия, соответствующие тегам HTML. Их следует записывать только в нижнем регистре (строчными буквами). Эти методы никогда не были стандартизованы в ECMAScript, но позволяют динамически генерировать HTML-код и в клиентском, и в серверном JavaScript-коде. Если вы готовы к использованию нестандартных методов, можете следующим образом создать исходный HTML-текст для гиперссылки, выделенной полужирным шрифтом красного цвета, при щелчке на которую в диалоговом окне появится надпись hello:
var s = "щелкни здесь!";
var html = s.bold().link("javascript:alert('hello')").fontcolor("red");
document.write(html) ;
Большинство методов форматирования не имеют параметров. Далее приведен их список.
anchor(имя)
Возвращает копию строки в окружении тега <a name=>.
big()
Возвращает копию строки в окружении тега <big>.
blink()
Возвращает копию строки в окружении тега <blink>.
bold()
Возвращает копию строки в окружении тега <b>.
fixed()
Возвращает копию строки в окружении тега <tt>.
fontcolor(цвет)
Возвращает копию строки в окружении тега <font color=>.
fontsize(размер)
Возвращает копию строки в окружении тега <font size=>.
italics()
Возвращает копию строки в окружении тега <i>.
link(url):
Возвращает копию строки в окружении тега <a href=>.
Примеры
"Глава 2" . anchor("volume2") /* эквивалентно HTML-коду:
<A NAME="volume2"> Глава 2</A> */
"Страница автора".link("http:/www.sstu.ru/toropova")
/* эквивалентно HTML-коду:
<A HREF = "http:/ www.sstu.ru/toropova")>Страница автора</А> */
Функции вставки и замены подстрок
При обработке строк часто требуется вставить или заменить подстроки. Удаление подстроки из данной строки можно рассматривать как частный случай замены, а именно замены указанной подстроки пустой строкой. С помощью методов объекта String можно написать программу для решения этой задачи. Поскольку она часто встречается, то целесообразно оформить программу в виде функций.
Рассмотрим сначала функцию вставки строки в исходную строку. Назовем ее, например, insstr. Данная функция должна принимать три параметра: исходную строку s1, вставляемую строку s2 и индекс позиции вставки n.
function insstr(s1,s2 ,n) {
return s1.slice(0,n) + s2 + s1.slice(n)
}