Значение undefined обозначает неопределенность. К примеру, если мы попробуем обратиться к переменной, которой мы еще не задали значение - то ее значение и будет undefined.
var a;
alert(a); //выведет undefined
Значение null обозначает 'ничего'. К примеру, мы можем присвоить переменной значение null в знак того, что там ничего не лежит. Это значение очень похоже на undefined, отличие в том, что undefined - это не определенное значение, а null - определенное - ничего.
Значения true и false
Значения true и false обозначают истину и ложь соответственно. Они используются для таких вещей, которые предполагают два варианта ответа - да или нет. К примеру, на вопрос 'вам уже есть 18 лет?' в можете ответить да, то есть true, или нет, то есть false.
Значение NaN
Значение NaN (Not-A-Number) обозначает не число. Оно может получится, к примеру, в таком случае - когда вы умножаете строку с буквами на число:
alert('abc' * 3); //выведет NaN
Значения Infinity и -Infinity
Значения Infinity и -Infinity обозначают соответственно бесконечность и минус бесконечность. Они получаются если какое-то число поделить на ноль - в этом случает JavaScript не выдает ошибку, как в других языках программирования, а возвращает эти значения. Если мы делим на ноль положительное число, то получаем Infinity, - а если отрицательное - то - Infinity.
|
|
Функция prompt
Кроме функции alert, которая выдает диалоговое окошко, существует функция prompt, которая не только выдает окошко с текстом, но и позволяет получить от пользователя какой-либо текст. Этот текст можно записать в переменную и затем выполнить над ним какие-либо операции.
В следующем примере мы спросим имя пользователя, запишем его в переменную name и с помощью функции alert выведем на экран:
var name = prompt('Ваше имя?');
alert('Ваше имя: ' + name);
Функция confirm
Если вам нужно просто спросить у пользователя 'Да' или 'Нет', не давая ему возможность ввести иной текст - используйте функцию confirm.
Эта функция вызывает окошко с вопросом, на который нужно ответить пользователю, и двумя кнопками для ответа: с кнопкой 'ОК' и с кнопкой 'Отмена'. Если пользователь нажмет 'ОК' - то функция вернет true, а если 'Отмена' - то вернет f alse.
В следующем примере функция confirm выведет диалоговое окно с вопросом 'Вам уже есть 18 лет?'.
Если вы нажмете 'Ок', то в переменную ok запишется true и выведется на экран функцией alert, а если нажмете 'Отмена' - то false:
var ok = confirm('Вам уже есть 18 лет?');
alert(ok);
Типизация переменных
Что будет, если попробовать перемножить, к примеру, число и строку, вот так: 3 * '3'? В результате вы получите число 9. Это значит, что JavaScript автоматически осуществляет преобразование типов при необходимости, вам не нужно за это переживать. Однако, есть нюанс: если мы попытаемся сложить строку и число, то JavaScript сложит их как строки, а не как числа, вот так: '3' + 3 получится строка '33', а не число 6.
|
|
В случае, например, с умножением JavaScript понимал, что нельзя перемножить строки, поэтому строки переводил в числа и перемножал их. А случай со сложением можно трактовать двояко: складывать как строки или как числа (плюс-то используется как для сложения строк, так и чисел).
Бороться с этим можно следующем способом: нужно сделать недопустимую для строк операцию, например, так :+'3' + 3 - поставим плюс перед строкой и она преобразуется к числу.
Второй вариант такой: можно сказать Ява скрипту, что мы хотим явно преобразовать строку к числу. Это делается с помощью функции Number, вот так: Number('3') + 3. В результате получится 6, а не '33'.
К числам могут преобразовываться не только строки, но и любые другие типы данных, например true тоже можно преобразовать к числу таким образом: Number(true). Можно преобразовывать и к другим типам с помощью функций Boolean, String и других подобных.