Show Menu
Cheatography

JavaScript Cheat Sheet (DRAFT) by

JavaScript Cheat Sheet

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Основы

Код записы­вается внутри <sc­rip­t><­/sc­rip­t>

Подклю­чение внешнего скрипта:
<script src="de­mo.j­s">­</s­cri­pt>
Во внешних скриптах нет тегов <sc­rip­t>


Комент­арии:
// - одност­рочный
/* ... */ - многос­трочный

Атрибуты async и defer выполн­яются асинхр­онно:
defer сохраняет относи­тельную послед­ова­тел­ьность скриптов
defer всегда ждёт, пока весь HTML-д­окумент будет готов
async – нет.

Типы данных

Number
Число
String
Строка
Boolean
Логический тип (true или false)
Null
Значения не существует
Undefined
Значение не присвоено

ПЕРЕМЕННЫЕ

Объявление
var x = 10;

Можно объявить несколько переменных сразу:
var user = 'John', age = 25, message = 'Hello';

Вывод:
docume­t.w­rit­e(x); - вывод строкой в браузере
alert(x); - вывод в диалоговом окне

Имена
Имя может состоять из:
- букв
- цифр
- символов $ и _
Первый символ не должен быть цифрой

Название переменной должно быть понятно без кода


Константа – это переме­нная, которая никогда не меняется. Их называют большими буквами, через подчёр­кив­ание. Например: var COLOR_RED = "­#F0­0";

В любом месте программы, где допустимо исполь­зовать число или строку, можно также исполь­зовать переме­нную, в которой хранится число или строка.

ТИП ДАННЫХ - ЧИСЛО

var x = 10;
var x = 10.9;
Существуют специа­льные числовые значения Infinity (беско­неч­ность) и NaN (ошибка вычисл­ений)

ТИП ДАННЫХ - СТРОКА

var text =
John
;
По стандарту исполь­зуются одинарные кавычки

Не исполь­зовать вместе либо надо добавлять \" \'



\ - управл­яющий символ превращает специа­льные символы в символы строки:
var sayHello = 'Hello, world! \' I am a JavaScript progra­mme­r.\'';


\' - одинарная кавычка
\" - двойные кавычки
\\ - обратный слеш
\n - новая строка
\r - возврат каретки
\t - табуляция
\b - бекспейс
\f - прогон строки

ОБЪЕКТЫ

Это способ записать в одну переменную много подпер­еме­нных.

var error = {

type: 'fatal',

message: 'Фатальная ошибка'

 };


Доступ через .
alert (error.me­ssage);

КОМАНДЫ

alert(x);
вывод переменной в окне
var x = promt ('Введите значен­ие');
запрос на ввод
var x = confirm ('Подт­вер­дите');
выводит ОК или ОТМЕНА
consol­e.log (x);
вывод информации в консоль
docume­nt.w­ri­te(x);
вывод переменной в строке браузера
 

ОПЕРАТОРЫ И ОПЕРАНДЫ

Операнд – то, к чему примен­яется оператор. Например: 5 * 2 – оператор умножения с левым и правым операн­дами.
Другое название: «аргумент операт­ора».

Унарным называется оператор, который примен­яется к одному выражению. Например, оператор унарный минус "­-" меняет знак числа на против­опо­ложный.

Бинарным называется оператор, который примен­яется к двум операндам. Тот же минус существует и в бинарной форме.

МАТЕМА­ТИЧ­ЕСКИЕ ОПЕРАТОРЫ

+
сложение
25+5=30
-
вычитание
25-5=25
*
умножение
10*20=200
/
деление
20/2 = 10
%
деление по модулю
56%3=2
var++
постинкремент
var a = 0, b = 10;
var a = b++;
a=10 и b=11
++var
преинк­ремент
var a = 0, b = 10;
var a = ++b;
a=11 и b=11
var--
постде­кремент
var a = 0, b = 10;
var a = b--;
a=10 и b=9
--var
предек­ремент
var a = 0, b = 10;
var a = --b;
a=9 и b=9
x+=y
увеличить x на y
x=x+y
x-=y
уменьшить x на y
x=x-y
x*=y
умножить x на y
x=x*y
x/=y
разделить x на y
x=x/y
x%=y
 
x=x%y
Постфи­ксная форма i++ отличается от префиксной ++i тем, что возвращает старое значение, бывшее до увелич­ения.

Инкрем­ент­/де­кремент можно применить только к переме­нной.

ОПЕРАТОРЫ СРАВНЕНИЯ

==
Равно
5==10 ложь
===
Идентично
(значение и тип)
5===10 ложь
!=
Не равно
5!=10 истина
!==
Не идентично
10!==10 ложь
>
Больше чем
10>5 истина
>=
Больше или равно
10>=5 истина
<
Меньше чем
10<5 ложь
<=
Меньше или равно
10<=5 ложь
Как и другие операторы, сравнение возвращает значение. Это значение имеет логический тип.

Существует всего два логических значения:
- true – имеет смысл «да», «верно», «истина».
- false – означает «нет», «неверно», «ложь».

СРАВНЕНИЕ ==

Если строка состоит из нескольких букв, то сравнение осущес­твл­яется как в телефонной книжке или в словаре. Сначала сравни­ваются первые буквы, потом вторые, и так далее, пока одна не будет больше другой.

Иными словами, больше – та строка, которая в телефонной книге была бы на большей странице.

При сравнении значений разных типов, исполь­зуется числовое преобр­азо­вание. Оно примен­яется к обоим значениям.

НЕ строгое сравнение == приводит операнды к одному типу.
== лучше не исполь­зовать из-за его неодно­зна­чности.
При сравнении переменных их лучше преобр­азовать к одному типу.

ПРИМЕРЫ:
alert ('2'>1); // true, сравни­вается как 2>1
alert ('01'==1); // true, сравни­вается как 1==1
alert (false­==0); // true, false становится числом 0
alert (true==1); // true, т.к true становится числом 1

СТРОГОЕ СРАВНЕНИЕ ===

В обычном операторе == есть «проблема» – он не может отличить 0 от false:

alert (0 == false); // true
// Та же ситуация с пустой строкой
alert('' == false); // true

Это естест­венное следствие того, что операнды разных типов преобр­азо­вались к числу. Пустая строка, как и false, при преобр­азо­вании к числу дают 0.
Для проверки равенства без преобр­азо­вания типов исполь­зуются операторы строгого равенства === (тройное равно) и !==.

alert (0===f­alse); // false, т.к. типы различны

ЛОГИЧЕСКИЕ ОПЕРАТОРЫ

&&
возвращает true, если обе операнды истины
||
возвращает true, если один из операндов истиный
!
возвращает true, если операнд ложный, возвращает false, если операнд истиный
Выражения с логиче­скими операт­орами могут быть совмещены.

var isWeekend = false;
var hadShower = true;
var hasApple = false;
var hasOrange = true;
var should­GoT­oSchool = !isWeekend && hadShower && (hasApple || hasOra­nge);
should­GoT­oSc­hool; true

УСЛОВНЫЙ ОПЕРАТОР

var isAdult = (age < 18) ?
"Too young" : "Old enough­";

СТРОКОВЫЕ ОПЕРАТОРЫ

+ объединяет строки

Если хотя бы один аргумент является строкой, то второй будет также преобр­азован к строке. Все остальные операторы приводят аргументы к числу.

var apples = "­2";
var oranges = "­3";
alert( apples + oranges ); // "­23" бинарный плюс складывает строки
alert( +apples + +oranges ); // 5, число, оба операнда предва­рит­ельно преобр­азованы в числа

ОПЕРАТОР typeof

Возвращает тип аргумента.
Нужен чтобы убедиться в типе переме­нной.

Tсть два синтаксиса - со скобками и без:
- Синтаксис оператора: typeof x
- Синтаксис функции: typeof(x)

Резуль­татом typeof является строка, содержащая тип:
typeof undefined // "­und­efi­ned­"
typeof 0 // "­num­ber­"
typeof true // "­boo­lea­n"
typeof "­foo­" // "­str­ing­"