Значения
JavaScript распознает следующие типы величин:
1. Числа, типа 42 или 3.14159
2. Логические (Булевы), значения true или false
3. Строки, типа "Howdy!"
4. устой указатель, специальное ключевое слово, обозначающее нулевое значение
Это относительно малый набор типов значений, или типов данных, которые позволяют вам выполнять функции в ваших приложениях. Не существует никакого явного различия между целыми числами и реально-оцененными числа. И при этом не существует явного типа данных date в Navigator. Однако, объект date и связанные встроенные функции позволяют вам обрабатывать данные.
Объекты и функции - фундаментальные элементы в языке. Вы можете думать об объектах как об именованных контейнерах для значений, и о функциях как о процедурах, которые ваше приложение может выполнять.
Преобразование типов данных
Тип переменной зависит от того, какой тип информации в ней хранится. JavaScript не является жестко типизированным языком. Это означает, что вы не должны точно определять тип данных переменной, в момент ее создания. Тип переменной присваивается переменной автоматически в течение выполнения скрипта. Так, например, вы можете определить переменную следующим образом:
var answer = 42
А позже, вы можете присвоить той же переменной, например следующее значение:
answer = "Thanks for all the fish..."
Или рассмотрим следующее выражения:
//пример
var oneString="1"
var oneInt=1
var oneConcatenate=oneString+oneInt
// В результате получается "11"
var oneAddition=oneInt+oneString
// В результате получается 2
В первой операции сложения первый операнд является строкой. JavaScript предполагает, что производится операция с двумя строками. Когда JavaScript обнаруживает в качестве второго операнда целое число, он в соответствии со своими представлениями преобразует переменную в строку.
Поскольку JavaScript свободно типизированный язык, то это не вызовет ошибки.
Так как JavaScript не поддерживает никаких методов и свойств для определения типа текущего значения переменной, очень важно внимательноотслеживать типы переменных во избежание неожиданных результатов.
Вообще, в выражениях, включающие числовые и строковые значения, JavaScript преобразовывает числовые значения в строковые. Например, рассмотрим следующие утверждение:
x = "The answer is " + 42
y = 42 + " is the answer."
Первое утверждение будет строка "The answer is - 42 ". Второе утверждение возвращает строку " 42 - The answer is".
JavaScript предоставляет несколько специальных функций для управления строковыми и числовыми значениями:
1. eval вычисляет строку, представляющая любые JavaScript литералы или переменные, преобразовывая ее в число.
2. parseInt преобразовывает строку в целое число в указанном основании системы счисления, если возможно.
3. parseFloat преобразовывает строку в число с плавающей точкой, если возможно.
Переменные
Вы используете переменные, чтобы хранить значения в вашем приложении. Вы даете этим переменным имена, по которым вы ссылаетесь на них, и существуют некоторые правила, которым имена должны соответствовать.
Идентификатор JavaScript или имя должны начаться с символа или символом подчеркивания ("_"); последовательность символов также могут быть цифры (0-9). Символы включают знаки с "A" до "Z" (верхнего регистра) и знаки с "a" до "z" (нижний регистр). JavaScript учитывает регистр.
Некоторые примеры допустимых имен:
Number_hits
temp99
_name
Область действия переменных
Область действия переменных - то, где вы можете использовать их в скрипте. В JavaScript, существует две области действия, которые переменные могут иметь:
Глобальная: Вы можете использовать переменную где-нибудь в приложении.
Локальная: Вы можете использовать переменную внутри текущей функции.
Чтобы объявить локальную переменную внутри функция, используйте ключевое слово var, например:
var total = 0;
Чтобы объявить глобальную переменную, объявите переменную назначения, которая просто присваивает значение переменной (или в функции или вне функции), например:
total = 0;
Лучше всего объявлять глобальные переменные в начале вашего скрипта, так, чтобы функции наследовали переменную и ее значение.
Литералы
Литералы - способ, которым вы представляете значения в JavaScript. Установленные значения, которые вы буквально (literally) представляете в вашем источнике, и - не переменные. Примеры литералов включают:
42
3.14159
"Быть или не быть"
Целые числа (Integers)
Целыми называют числа вида 1, 164, 102390. Они могут быть выражены в десятичном (по основанию 10), шестнадцатеричном (по основанию 16), или восьмеричном (по основанию 8) представлении. Десятичный литерал целого числа состоит из последовательности цифр без ввода 0 (ноля).
Целое число может быть выражено в восьмеричном или шестнадцатеричном скорее чем в десятиричное. Шестнацетеричные числа включают цифры 0-9 и буквы a-f и A-F, в JavaScript они записываются с комбинацией символов 0x или 0X (ноль-x) перед числом. Восмиричные числа включают только цифры 0-7 и в JavaScript записываются с ведущего нуля.
Например, десятичное число 23 представляется в шестнадцатеричном виде как 0x17 и в восмеричном как 027
Литералы с плавающей точкой
Литералы с плавающей точкой представляют собой дробные части целых чисел и должны включать в себя по крайней мере одну цифру и десятичную точку либо символ экспоненты ("е" или "Е"). В следующих примерах приведены различные варианты представления одного и того же числа:
3.1415927
31415927е-7
.31415927Е1
Логические литералы
Логические значения имеют только два значения, истинна (true) или ложь (false). В некоторых реализациях языка JavaScript 0 (false) и 1 (true) не могут быть использованы в качестве логических значений.
Строки
Строковые литералы - ноль или большее количество знаков, располеженные в двойных (") или одинарных (') кавычках. Строки должен быть разделены кавычками того же самого типа; то есть или обе одинарные кавычки или двойные кавычки. Использование обратной двойной черты "\" позволяет вставлять в строку специальные символы. Приведем примеры строковых литералов:
"Blah"
'Blah'
"1234"
"one line \n another line"
Специальные символы
Вы можете использовать следующие специальные символы в строковых литаралах JavaScript:
\b указывает возврат на один символ.
\f указывает перевод страницы.
\n указывает новую цифру(знак) линии.
\r указывает возврат каретки.
\t указывает cимвол табуляции.
Символы выхода
Вы можете вставлять кавычки внутри строки, предшествуя им наклонной чертой влево. Это известно как выход кавычек. Например,
document.write("\"Вам следует принять ванну\",
- сказал доктор и наморщил нос.");
выводит
"Вам следует принять ванну",
- сказал доктор и наморщил нос.