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-программист: программирование сайтов, интернет-магазинов, порталов