Как проверить определена ли переменная на JavaScript
Здравствуйте. Начну из далека.
Сегодня мне потребовалось вывести диалоговое окно при нажатии кнопки, на JS (парсер BBcode). Диалоговое окно состоит из одного поля, куда вводится строка и двух кнопок Ok и Отмена. Это окно я хочу использовать для ввода url, пользователь нажимает BBcode URL, появляется окно, пользователь вводит адрес, затем жмет кнопку Ok, и введенный адрес появляется в textarea, уже с BBcode. Я посчитал, что это будет удобно.
Все просто и удобно!
Но тут я подумал о том, что пользователь может передумать вводить какой то адрес, после того, как нажмет на кнопку (кто та может так быстро передумать?), но теперь ему придется нажать на одну из двух кнопок (Ok или Отмена), что бы продолжить работу в редакторе, после чего в textarea будет вставлен BBcode,...
Сегодня мне потребовалось вывести диалоговое окно при нажатии кнопки, на JS (парсер BBcode). Диалоговое окно состоит из одного поля, куда вводится строка и двух кнопок Ok и Отмена. Это окно я хочу использовать для ввода url, пользователь нажимает BBcode URL, появляется окно, пользователь вводит адрес, затем жмет кнопку Ok, и введенный адрес появляется в textarea, уже с BBcode. Я посчитал, что это будет удобно.
// Назначили переменной "url" введенный адрес
var url = prompt(paste_url, '');
// Вставляем BBcode вместе с URL в textarea
obj.v = v.substr(0, start) + '[' + tag + '=' + url + ']' + url + '[/' + tag + ']' + v.substr(start);
Все просто и удобно!
Но тут я подумал о том, что пользователь может передумать вводить какой то адрес, после того, как нажмет на кнопку (кто та может так быстро передумать?), но теперь ему придется нажать на одну из двух кнопок (Ok или Отмена), что бы продолжить работу в редакторе, после чего в textarea будет вставлен BBcode,...
- Жалоба
Как удалить элемент массива на JavaScript
Небольшая инструкция, как удалить элемент массива на языке JavaScript. И так, допустим у нас есть массив собранный из трех элементов, все элементы - цифры (
Наша задача - удалить значение второго элемента. Второй элемент это единица
Удаляем при помощи delete:
В результате получим такой массив:
Получается, что в массиве по прежнему три элемента, но один из них
Если надо удалить элемент массива полностью, то можно воспользоваться функцией splice. Предназначение данной функции - изменить содержимое массива, путем удаления существующих элементов и|или добавляя новые. Делаем так:
Теперь наш массив состоит из двух элементов:
...
1
, 2
, 3
), хотя это не важно, это может быть не только цифры. Массив:
var arr = [1, 2, 3];
Наша задача - удалить значение второго элемента. Второй элемент это единица
arr[1]
, так как массив начинает с ноля.
Удаляем при помощи delete:
var arr = [1, 2, 3];
delete arr[1];
В результате получим такой массив:
[1, undefined, 3]
Получается, что в массиве по прежнему три элемента, но один из них
undefined
.Если надо удалить элемент массива полностью, то можно воспользоваться функцией splice. Предназначение данной функции - изменить содержимое массива, путем удаления существующих элементов и|или добавляя новые. Делаем так:
var arr = [1, 2, 3];
arr.splice(1, 1);
Теперь наш массив состоит из двух элементов:
[1, 3]
JavaScript: Регулярные выражения
Регулярные выражения - средство для поиска и замены в строке. Регулярное выражение состоит из шаблона и необязательных флагов. Регулярное выражение заключается в слеши (в начале и в конце), заключать в кавычки не надо.
Пример регулярного выражения:
После закрывающего слеша можно писать флаги, для более гибкого поиска подстроки. В языке JavaScript имеется три флага:
Для примера использования флагов, возьму регулярное выражение написанное выше
Теперь все...
Пример регулярного выражения:
/^\s*/
- будет искать один пробел в начале строки. Используя это регулярное выражение можно удалить первый пробел в начале строки, вернее заменить его на "ничего":
variable = variable.replace(/^\s*/, '');
Флаги
После закрывающего слеша можно писать флаги, для более гибкого поиска подстроки. В языке JavaScript имеется три флага:
- g - Искать все совпадения.
- i - Регистронезависимый поиск.
- m - Многострочный режим.
Для примера использования флагов, возьму регулярное выражение написанное выше
/^\s*/
, такой шаблон, как уже было сказано будет искать только один пробел (первое найденное совпадение), остальные пробелы "ему не нужны". Чтобы искать все пробелы в начале строки добавим флаг g: /^\s*/g
:
variable = variable.replace(/^\s*/g, '');
Теперь все...
Ошибки при программировании на JavaScript (Как избежать ошибок?)
В настоящее JavaScript находит широкое применение в браузерах как язык сценариев, которые делают работу с веб-страницами интерактивной. JavaScript выполняет задачи с клиентской стороны, которые не могут быть выполнены со стороны сервера. Например, пользователь нажимает на кнопку и появляется некое всплывающее окно. Этот процесс лучше и проще реализовать со стороны клиента в виде сценария JavaScript, чем нагружать сервер и интернет-соединение для передачи данных, обработки и ответной реакции. Несмотря на то, что JavaScript похож на другие языки программирования и позиционируется как простой для работы с ним, легко угодить в ловушки, программируя на нем.
Ниже даны несколько ловушек, в которые могут попасть разработчики веб-интерфейса, использующие JavaScript.
Это ошибку может совершить даже опытный программист, просто сделав опечатку в операторе сравнения, что приведет к большой логической ошибке в сценарии.
Речь идет об...
Ниже даны несколько ловушек, в которые могут попасть разработчики веб-интерфейса, использующие JavaScript.
Неправильное использование операторов сравнения и присвоения
Это ошибку может совершить даже опытный программист, просто сделав опечатку в операторе сравнения, что приведет к большой логической ошибке в сценарии.
Речь идет об...
Вкладыши от жвачек
Вкладыши от жвачек - это картинки на бумаге, которые можно заполучить, купив обыкновенные жвачки по рублю. Они пользовались бешеным успехом. Они были настолько популярны, что с помощью них можно было заполучить все, что хочется. Главным способом заполучения была игра. "Хлопушка" - одна из популярнейших игр того времени. Ребята клали на стол вкладыши картинкой вниз и хлопком пытались перевернуть сколько получится.
Вкладыши собирали, а редчайшие даже покупали. Не подумайте, что вкладыш - это обычная бумага с рисунком. 40 штук вкладышей из жвачки Turbo мог стоить новейшего бинокля.
Существовало два вида вкладышей: фантики и наклейки. Конечно же, наклейки стоили больше, чем обычные вкладыши. Крутым было то, если ты соберешь альбом со своими наклейками, состоящими из наклеек одной тематики. Те, кто хотел нажиться, думал наперед и продавал жвачку и фантик по отдельности. Чаще всего случалось так, что фантики продавался за большую цену, чем он стоил вместе с жвачкой. Продавались такие жвачки...
Вкладыши собирали, а редчайшие даже покупали. Не подумайте, что вкладыш - это обычная бумага с рисунком. 40 штук вкладышей из жвачки Turbo мог стоить новейшего бинокля.
Существовало два вида вкладышей: фантики и наклейки. Конечно же, наклейки стоили больше, чем обычные вкладыши. Крутым было то, если ты соберешь альбом со своими наклейками, состоящими из наклеек одной тематики. Те, кто хотел нажиться, думал наперед и продавал жвачку и фантик по отдельности. Чаще всего случалось так, что фантики продавался за большую цену, чем он стоил вместе с жвачкой. Продавались такие жвачки...