\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{lexx9000} \pdfinfo{ /Title (javascript.pdf) /Creator (Cheatography) /Author (lexx9000) /Subject (JavaScript Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{429AFE} \definecolor{LightBackground}{HTML}{F3F8FE} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{JavaScript Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{lexx9000} via \textcolor{DarkBackground}{\uline{cheatography.com/71847/cs/18222/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}lexx9000 \\ \uline{cheatography.com/lexx9000} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 13th December, 2018.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Основы}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Код записывается внутри \textless{}script\textgreater{}\textless{}/script\textgreater{} \newline % Row Count 2 (+ 2) {\bf{Подключение внешнего скрипта:}} \newline % Row Count 4 (+ 2) \textless{}script src="demo.js"\textgreater{}\textless{}/script\textgreater{} \newline % Row Count 5 (+ 1) `Во внешних скриптах нет тегов \textless{}script\textgreater{}` \newline % Row Count 7 (+ 2) {\bf{Коментарии:}} \newline % Row Count 8 (+ 1) // - однострочный \newline % Row Count 9 (+ 1) /* ... */ - \seqsplit{многострочный} \newline % Row Count 10 (+ 1) Атрибуты {\bf{async}} и {\bf{defer}} выполняются асинхронно: \newline % Row Count 12 (+ 2) defer сохраняет \seqsplit{относительную} \seqsplit{последовательность} скриптов \newline % Row Count 15 (+ 3) defer всегда ждёт, пока весь HTML-документ будет готов \newline % Row Count 17 (+ 2) async – нет.% Row Count 18 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{1.44 cm} x{6.56 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Типы данных}} \tn % Row 0 \SetRowColor{LightBackground} Number & Число \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} String & Строка \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \seqsplit{Boolean} & Логический тип (true или false) \tn % Row Count 4 (+ 2) % Row 3 \SetRowColor{white} Null & Значения не существует \tn % Row Count 6 (+ 2) % Row 4 \SetRowColor{LightBackground} \seqsplit{Undefined} & Значение не присвоено \tn % Row Count 8 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{ПЕРЕМЕННЫЕ}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\bf{Объявление}} \newline % Row Count 1 (+ 1) var x = 10; \newline % Row Count 2 (+ 1) Можно объявить несколько переменных сразу: \newline % Row Count 4 (+ 2) var user = 'John', age = 25, message = 'Hello'; \newline % Row Count 5 (+ 1) {\bf{Вывод:}} \newline % Row Count 6 (+ 1) documet.write(x); - вывод строкой в браузере \newline % Row Count 8 (+ 2) alert(x); - вывод в диалоговом окне \newline % Row Count 10 (+ 2) {\bf{Имена}} \newline % Row Count 11 (+ 1) Имя может состоять из: \newline % Row Count 12 (+ 1) - букв \newline % Row Count 13 (+ 1) - цифр \newline % Row Count 14 (+ 1) - символов \$ и \_ \newline % Row Count 15 (+ 1) `Первый символ не должен быть цифрой` \newline % Row Count 17 (+ 2) `Название переменной должно быть понятно без кода` \newline % Row Count 19 (+ 2) {\bf{Константа}} – это переменная, которая никогда не меняется. Их называют большими буквами, через \seqsplit{подчёркивание}. Например: var COLOR\_RED = "\#F00"; \newline % Row Count 24 (+ 5) В любом месте программы, где допустимо использовать число или строку, можно также использовать переменную, в которой хранится число или строка.% Row Count 30 (+ 6) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{ТИП ДАННЫХ - ЧИСЛО}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{var x = 10; \newline % Row Count 1 (+ 1) var x = 10.9;% Row Count 2 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{Существуют специальные числовые значения Infinity \seqsplit{(бесконечность)} и NaN (ошибка вычислений)} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{ТИП ДАННЫХ - СТРОКА}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{var text = `John`; \newline % Row Count 1 (+ 1) `По стандарту используются одинарные кавычки` \newline % Row Count 3 (+ 2) `Не использовать вместе либо надо добавлять \textbackslash{}" \textbackslash{}'` \newline % Row Count 5 (+ 2) \textbackslash{} - управляющий символ превращает специальные символы в символы строки: \newline % Row Count 8 (+ 3) `var sayHello = 'Hello, world! \textbackslash{}' I am a JavaScript programmer.\textbackslash{}'';` \newline % Row Count 10 (+ 2) \textbackslash{}' - одинарная кавычка \newline % Row Count 11 (+ 1) \textbackslash{}" - двойные кавычки \newline % Row Count 12 (+ 1) \textbackslash{}\textbackslash{} - обратный слеш \newline % Row Count 13 (+ 1) \textbackslash{}n - новая строка \newline % Row Count 14 (+ 1) \textbackslash{}r - возврат каретки \newline % Row Count 15 (+ 1) \textbackslash{}t - табуляция \newline % Row Count 16 (+ 1) \textbackslash{}b - бекспейс \newline % Row Count 17 (+ 1) \textbackslash{}f - прогон строки% Row Count 18 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{ОБЪЕКТЫ}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Это способ записать в одну переменную много \seqsplit{подпеременных}. \newline % Row Count 3 (+ 3) `var error = \{` \newline % Row Count 4 (+ 1) `type: 'fatal',` \newline % Row Count 5 (+ 1) `message: 'Фатальная ошибка'` \newline % Row Count 7 (+ 2) ` \};` \newline % Row Count 8 (+ 1) Доступ через . \newline % Row Count 9 (+ 1) `alert (error.message);`% Row Count 10 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{4 cm} x{4 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{КОМАНДЫ}} \tn % Row 0 \SetRowColor{LightBackground} alert(x); & вывод \seqsplit{переменной} в окне \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} var x = promt ('Введите значение'); & запрос на ввод \tn % Row Count 6 (+ 3) % Row 2 \SetRowColor{LightBackground} var x = confirm \seqsplit{('Подтвердите');} & выводит ОК или ОТМЕНА \tn % Row Count 9 (+ 3) % Row 3 \SetRowColor{white} console.log (x); & вывод \seqsplit{информации} в консоль \tn % Row Count 12 (+ 3) % Row 4 \SetRowColor{LightBackground} document.write(x); & вывод \seqsplit{переменной} в строке браузера \tn % Row Count 16 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{ОПЕРАТОРЫ И ОПЕРАНДЫ}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\bf{Операнд}} – то, к чему применяется оператор. Например: 5 * 2 – оператор умножения с левым и правым операндами. \newline % Row Count 4 (+ 4) Другое название: «аргумент оператора». \newline % Row Count 6 (+ 2) {\bf{Унарным}} называется оператор, который применяется к одному выражению. Например, оператор унарный минус "-" меняет знак числа на \seqsplit{противоположный}. \newline % Row Count 12 (+ 6) {\bf{Бинарным}} называется оператор, который применяется к двум операндам. Тот же минус существует и в бинарной форме.% Row Count 17 (+ 5) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{p{0.76 cm} x{3.42 cm} x{3.42 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{8.4cm}}{\bf\textcolor{white}{\seqsplit{МАТЕМАТИЧЕСКИЕ} ОПЕРАТОРЫ}} \tn % Row 0 \SetRowColor{LightBackground} + & сложение & 25+5=30 \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} - & \seqsplit{вычитание} & 25-5=25 \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} * & \seqsplit{умножение} & 10*20=200 \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} / & деление & 20/2 = 10 \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \% & деление по модулю & 56\%3=2 \tn % Row Count 6 (+ 2) % Row 5 \SetRowColor{white} var++ & \{\{nobreak\}\}постинкремент & \{\{nobreak\}\}var a = 0, b = 10; \{\{nl\}\} var a = b++; \{\{nl\}\}a=10 и b=11 \tn % Row Count 10 (+ 4) % Row 6 \SetRowColor{LightBackground} ++var & \seqsplit{преинкремент} & \{\{nobreak\}\}var a = 0, b = 10; \{\{nl\}\}var a = ++b; \{\{nl\}\}a=11 и b=11 \tn % Row Count 14 (+ 4) % Row 7 \SetRowColor{white} var-{}- & \seqsplit{постдекремент} & \{\{nobreak\}\}var a = 0, b = 10; \{\{nl\}\}var a = b-{}-; \{\{nl\}\}a=10 и b=9 \tn % Row Count 18 (+ 4) % Row 8 \SetRowColor{LightBackground} -{}-var & \seqsplit{предекремент} & \{\{nobreak\}\}var a = 0, b = 10; \{\{nl\}\}var a = -{}-b; \{\{nl\}\}a=9 и b=9 \tn % Row Count 22 (+ 4) % Row 9 \SetRowColor{white} x+=y & \seqsplit{увеличить} x на y & x=x+y \tn % Row Count 24 (+ 2) % Row 10 \SetRowColor{LightBackground} x-=y & \seqsplit{уменьшить} x на y & x=x-y \tn % Row Count 26 (+ 2) % Row 11 \SetRowColor{white} x*=y & умножить x на y & x=x*y \tn % Row Count 28 (+ 2) % Row 12 \SetRowColor{LightBackground} x/=y & \seqsplit{разделить} x на y & x=x/y \tn % Row Count 30 (+ 2) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{p{0.76 cm} x{3.42 cm} x{3.42 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{8.4cm}}{\bf\textcolor{white}{\seqsplit{МАТЕМАТИЧЕСКИЕ} ОПЕРАТОРЫ (cont)}} \tn % Row 13 \SetRowColor{LightBackground} x\%=y & & x=x\%y \tn % Row Count 1 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}---} \SetRowColor{LightBackground} \mymulticolumn{3}{x{8.4cm}}{Постфиксная форма i++ отличается от префиксной ++i тем, что возвращает старое значение, бывшее до увеличения. \newline \newline Инкремент/декремент можно применить только к переменной.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{p{0.76 cm} x{4.56 cm} x{2.28 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{8.4cm}}{\bf\textcolor{white}{ОПЕРАТОРЫ СРАВНЕНИЯ}} \tn % Row 0 \SetRowColor{LightBackground} == & Равно & 5==10 ложь \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} === & Идентично \{\{nl\}\}(значение и тип) & 5===10 ложь \tn % Row Count 5 (+ 3) % Row 2 \SetRowColor{LightBackground} != & Не равно & 5!=10 \seqsplit{истина} \tn % Row Count 7 (+ 2) % Row 3 \SetRowColor{white} !== & Не идентично & 10!==10 ложь \tn % Row Count 9 (+ 2) % Row 4 \SetRowColor{LightBackground} \textgreater{} & Больше чем & 10\textgreater{}5 \seqsplit{истина} \tn % Row Count 11 (+ 2) % Row 5 \SetRowColor{white} \textgreater{}= & Больше или равно & 10\textgreater{}=5 \seqsplit{истина} \tn % Row Count 13 (+ 2) % Row 6 \SetRowColor{LightBackground} \textless{} & Меньше чем & 10\textless{}5 ложь \tn % Row Count 15 (+ 2) % Row 7 \SetRowColor{white} \textless{}= & Меньше или равно & 10\textless{}=5 ложь \tn % Row Count 17 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}---} \SetRowColor{LightBackground} \mymulticolumn{3}{x{8.4cm}}{Как и другие операторы, сравнение возвращает значение. Это значение имеет логический тип. \newline \newline Существует всего два логических значения: \newline - true – имеет смысл «да», «верно», «истина». \newline - false – означает «нет», «неверно», «ложь».} \tn \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{СРАВНЕНИЕ ==}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Если строка состоит из нескольких букв, то сравнение \seqsplit{осуществляется} как в телефонной книжке или в словаре. Сначала сравниваются первые буквы, потом вторые, и так далее, пока одна не будет больше другой. \newline % Row Count 8 (+ 8) Иными словами, больше – та строка, которая в телефонной книге была бы на большей странице. \newline % Row Count 12 (+ 4) При сравнении значений разных типов, используется числовое \seqsplit{преобразование}. Оно применяется к обоим значениям. \newline % Row Count 17 (+ 5) НЕ строгое сравнение == приводит операнды к одному типу. \newline % Row Count 20 (+ 3) == лучше не использовать из-за его \seqsplit{неоднозначности}. \newline % Row Count 22 (+ 2) При сравнении переменных их лучше \seqsplit{преобразовать} к одному типу. \newline % Row Count 25 (+ 3) ПРИМЕРЫ: \newline % Row Count 26 (+ 1) alert ('2'\textgreater{}1); // true, сравнивается как 2\textgreater{}1 \newline % Row Count 28 (+ 2) alert ('01'==1); // true, сравнивается как 1==1 \newline % Row Count 30 (+ 2) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{СРАВНЕНИЕ == (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{alert (false==0); // true, false становится числом 0 \newline % Row Count 2 (+ 2) alert (true==1); // true, т.к true становится числом 1% Row Count 4 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{СТРОГОЕ СРАВНЕНИЕ ===}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{В обычном операторе == есть «проблема» – он не может отличить 0 от false: \newline % Row Count 3 (+ 3) alert (0 == false); // true \newline % Row Count 4 (+ 1) // Та же ситуация с пустой строкой \newline % Row Count 6 (+ 2) alert('' == false); // true \newline % Row Count 7 (+ 1) Это естественное следствие того, что операнды разных типов \seqsplit{преобразовались} к числу. Пустая строка, как и false, при \seqsplit{преобразовании} к числу дают 0. \newline % Row Count 13 (+ 6) Для проверки равенства без \seqsplit{преобразования} типов используются операторы строгого равенства === (тройное равно) и !==. \newline % Row Count 18 (+ 5) alert (0===false); // false, т.к. типы различны% Row Count 20 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{p{0.8 cm} x{7.2 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{ЛОГИЧЕСКИЕ ОПЕРАТОРЫ}} \tn % Row 0 \SetRowColor{LightBackground} \&\& & возвращает true, если обе операнды истины \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} || & возвращает true, если один из операндов истиный \tn % Row Count 5 (+ 3) % Row 2 \SetRowColor{LightBackground} ! & возвращает true, если операнд ложный, возвращает false, если операнд истиный \tn % Row Count 9 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{Выражения с логическими операторами могут быть совмещены. \newline \newline var isWeekend = false; \newline var hadShower = true; \newline var hasApple = false; \newline var hasOrange = true; \newline var shouldGoToSchool = !isWeekend \&\& hadShower \&\& (hasApple || hasOrange); \newline shouldGoToSchool; true} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{УСЛОВНЫЙ ОПЕРАТОР}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{var isAdult = (age \textless{} 18) ? \newline % Row Count 1 (+ 1) "Too young" : "Old enough";% Row Count 2 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{СТРОКОВЫЕ ОПЕРАТОРЫ}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{+ объединяет строки \newline % Row Count 1 (+ 1) Если хотя бы один аргумент является строкой, то второй будет также преобразован к строке. Все остальные операторы приводят аргументы к числу. \newline % Row Count 7 (+ 6) var apples = "2"; \newline % Row Count 8 (+ 1) var oranges = "3"; \newline % Row Count 9 (+ 1) alert( apples + oranges ); // "23" бинарный плюс складывает строки \newline % Row Count 11 (+ 2) alert( +apples + +oranges ); // 5, число, оба операнда \seqsplit{предварительно} \seqsplit{преобразованы} в числа% Row Count 14 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{ОПЕРАТОР typeof}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Возвращает тип аргумента. \newline % Row Count 1 (+ 1) Нужен чтобы убедиться в типе переменной. \newline % Row Count 3 (+ 2) Tсть два синтаксиса - со скобками и без: \newline % Row Count 5 (+ 2) - Синтаксис оператора: typeof x \newline % Row Count 6 (+ 1) - Синтаксис функции: typeof(x) \newline % Row Count 7 (+ 1) Результатом typeof является строка, содержащая тип: \newline % Row Count 9 (+ 2) typeof undefined // "undefined" \newline % Row Count 10 (+ 1) typeof 0 // "number" \newline % Row Count 11 (+ 1) typeof true // "boolean" \newline % Row Count 12 (+ 1) typeof "foo" // "string"% Row Count 13 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}