JS | Основы кратко
Ниже представлен базовый материал по основам JavaScript. По большей части это выжимки из "Носорога" (Девид Фленаган "JavaScript. Подробное руководство"). Мне кажется это будет интересным как сознательному новичку, так и среднему программисту, который не часто работает с JS и оттого основы этого языка в памяти немного расплывчаты. Обучение JS с этой статьи начинать не стоит.
1. Символы
JS чувствителен к регистру:
online, onLine, ONLINE - три различных переменных.
Русскоязычный текст может быть только в комментариях и в строковых литералах. Операторы, имена переменных и т.д. должны состоять из латинских букв.
Инструкции хоть и можно не разделять ";" но очень рекомендуется
a=1;
b=a+2;
Не стоит в инструкции делать перенос строк. Код
return
false;
Будет изменён интерпретатором на
return;
false;
2. Типы данных
- Числа
- Строки
- Объекты
- Массивы
- Функции
- Классы
То есть массивы, функции и классы являются специальными типами объекта.
3. Числа
JS не делает различия между целыми и вещественными числами.
Разделитель в вещественных числах — точка.
При работе с числами полезно помнить про константы Infinity — бесконечность, и NaN — "не число".
Числа невозможно непосредственно сравнить с этими константами, для этого есть специальные функции ifFinite() и isNaN() соответственно.
Большинство математических функций заключено в библиотеке Math, например:
x=Math.sin(y);
Преобразование чисел:
n=123456.78;
n.toFixed(0); // 123456
n.toFixed(1) // 123456.7
4. Строки
Индекс строки начинается с нуля.
Несколько частых функций работы со строками:
s="abcde";
length=s.length; // "5" — кол-во символов в строке
last=s.charAt(s.length-1); // "e" — последний символ
sub=s.substring(1,3); // "bc" -— подстрока со 2-ого (индекс 1) элемента 2 символа
i=s.indexOf('a'); // "0" — индекс символа 'a'
Обращение к элементу строки как к элементу ассоциативного массива возможно, но не по стандартам ECMA
last=s[s.length-1];
5. Преобразование форматов
Преобразование числа в строку:
n=5;
s=n.toString(); // '5'
s=String(n); // '5'
s=n+''; // '5'
Преобразование строки в число:
s='24';
n=s-0; // 24
n=Number(s); // 24
n=s+0; // '240' - это конкатенация, а не преобразование в число!
s='24 лишние символы';
n=s-0; // NaN
n=Number(s); // NaN
s='24.5 лишние символы';
n=parseInt(s); // 24
n=parseFloat(s); // 24.5
s='лишние символы перед числом 24.5 лишние символы';
n=parseInt(s); // NaN
n=parseFloat(s); // NaN
n=parseFloat('$45.39'); // NaN
Преобразование в логическое значение:
x=Boolean(y);
или
x=!!y;
Преобразование логических значений в числа:
true -> 1
false -> 0
Преобразование чисел в логические значения:
число -> true
ноль или NaN -> false
Преобразование логических значений в строки:
true -> 'true'
false -> 'false'
Преобразование строк в логические значения:
непустая строка -> true
пустая строка -> false
6. Функции
Функции представляют собой значение, т.е. функции могут храниться в переменных, массивах, объектах, а также быть переменной для другой функции.
При объявлении функции её имя не обязательно:
function square(x) { return x*x; }
или
var square=function (x) { return x*x; } // такие функции называются лямбда-функциями
7. Объекты
Пример создания объекта:
var point=new Object();
point.x=1;
point.y=2;
или
var point={ x: 1, y: 2 };
Пример вложенного объекта:
var rectangle =
{
point1={ x: 1, y: 2 },
point2={ x: 3, y: -3 }
}
Обращение к свойству объекта
rectangle.point1.x
где
x — свойство объека point
point1 — свойство объека rectangle
rectangle — объект
Функции объекта называются методами. Пример метода объекта:
document.write('Jac came back');
Объект может выступать в качестве ассоциативного массива
rectangle.point1.x <-> rectangle.point1['x']
8. Массивы
Индексируются с нуля.
JS не поддерживает многомерные массивы (но элементом массива может быть массив)
Значением элемента массива может быть любой тип (и разные типы могут быть у значений в пределах одного массива).
Пример создания массива:
var Arr=new Array(0); // пусто массив
var Arr=new Array(5); // массив в пятью неопределёнными элементами
var Arr=[1, 2, true, 'test',{ x: 3, y: -3 }, ['a','b','c']];
Обращение к массиву:
Arr[0] // 1
Arr[4].x // 3
Arr[5][1] // b
Татьяна
Полезное
- Подсветка php-кода для сайта
- Сколько зарабатывают веб-разработчики?
- Рассуждения о задачах разработчика
- Правила работы с UTF-8
- Подходы к реализации меню
CMS MODx
CMS MODx — админка
PHP
- Слияние массивов в PHP
- Задачки на знание PHP для начинающих
- Unable to load dynamic library php_curl.dll
- Изображение [] не может быть показано, так как содержит ошибки.
БД
JS, jQuery
- JS | FAQ
- jQuery справочник, базовые примеры
- JS | Основы кратко
Партнёрам по цеху
Copyright © 2008 scabbiaza.net
PHP-программист: программирование сайтов, интернет-магазинов, порталов