Редактор Visual Studio Code 49
input:datetime-local<Tab> => <input type="datetime-local" name="" id="">
input:month<Tab> => <input type="month" name="" id="">
input:week<Tab> => <input type="week" name="" id="">
input:h<Tab> => <input type="hidden" name="">
input:hidden<Tab> => <input type="hidden" name="">
datal<Tab> => <datalist></datalist>
select<Tab> => <select name="" id=""></select>
select:d<Tab> => <select name="" id="" disabled="disabled"></select>
select:disabled<Tab> =>
<select name="" id="" disabled="disabled"></select>
opt<Tab> => <option value=""></option>
option<Tab> => <option value=""></option>
optg<Tab> => <optgroup></optgroup>
optgroup<Tab> => <optgroup></optgroup>
select>option*3<Tab> =>
<select name="" id="">
<option value=""></option>
<option value=""></option>
<option value=""></option>
</select>
input:c<Tab> => <input type="checkbox" name="" id="">
input:checkbox<Tab> => <input type="checkbox" name="" id="">
input:r<Tab> => <input type="radio" name="" id="">
input:radio<Tab> => <input type="radio" name="" id="">
input:f<Tab> => <input type="file" name="" id="">
input:file<Tab> => <input type="file" name="" id="">
input:range<Tab> => <input type="range" name="" id="">
input:color<Tab> => <input type="color" name="" id="">
prog<Tab> => <progress></progress>
fst<Tab> => <fieldset></fieldset>
fset<Tab> => <fieldset></fieldset>
fst:d<Tab> => <fieldset disabled="disabled"></fieldset>
fset:d<Tab> => <fieldset disabled="disabled"></fieldset>
leg<Tab> => <legend></legend>
legend<Tab> => <legend></legend>
1.8.8. Таблицы
Для быстрой вставки таблиц, строк и ячеек можно использовать такие комбинации:
table<Tab> => <table></table>
cap<Tab> => <caption></caption>
tr<Tab> => <tr></tr>
Заключение
Вот и закончилось наше путешествие в мир языка JavaScript и программной плат-
формы Node.js. В данной книге описаны лишь основы этих технологий. А здесь мы
расскажем, где найти дополнительную информацию.
Самым важным источником информации является официальный сайт Node.js:
https://nodejs.org/ru/. На этом сайте вы найдете новости, а также ссылки на другие
интернет-ресурсы, посвященные Node.js и JavaScript. Регулярно посещайте страни-
цу https://nodejs.org/ru/download/, на которой доступна для загрузки самая по-
следняя версия Node.js.
На странице https://tc39.es/ecma262/ расположена спецификация языка JavaScript
(ECMAScript). Она обновляется очень часто, поскольку язык постоянно совершен-
ствуется, обзаводится новыми языковыми конструкциями, операторами, функция-
ми и т. д. Регулярно посещайте эту страницу — и вы будете в курсе самых "све-
жих" нововведений.
На страницах https://ru.wikipedia.org/wiki/JavaScript и https://ru.wikipedia.org/
wiki/ECMAScript вы найдете историю развития JavaScript, а также действующие
ссылки на все другие интернет-ресурсы, посвященные этому языку.
Если в процессе изучения JavaScript у вас возникнет какое-либо недопонимание, то
не следует забывать, что Интернет предоставляет множество ответов на самые раз-
нообразные вопросы. Достаточно в строке запроса поискового портала (например,
https://www.google.com/) набрать свой вопрос. Наверняка уже кто-то сталкивался
с подобной проблемой и описал ее решение на каком-либо сайте.
Библиотека Electron (https://www.electronjs.org/) предназначена для разработки
оконных приложений на JavaScript. Пользовательский интерфейс таких приложе-
ний пишется на языках HTML и CSS, хорошо знакомых веб-разработчикам.
Программная платформа Deno — прямой конкурент Node.js. Ее основные особен-
ности: поддержка языка программирования TypeScript (наряду с JavaScript), повы-
шенная безопасность (так, изначально доступ к файловой системе для всех про-
грамм запрещен, и чтобы разрешить его, следует при запуске программы указать
особый командный ключ) и поддержка только модулей стандарта ECMAScript.
Найти описание этой платформы можно по интернет-адресу https://deno.land/.
Свои замечания и пожелания вы можете оставить на странице книги на сайте изда-
тельства "БХВ": https://bhv.ru/. Все замеченные опечатки и неточности просим
присылать на E-mail [email protected] — только не забудьте указать название книги и
имя автора.
ПРИЛОЖЕНИЕ
Описание электронного архива
Электронный архив к книге выложен на FTP-сервер издательства по адресу:
ftp://ftp.bhv.ru/9785977568470.zip. Ссылка доступна и со страницы книги на сайте
https://bhv.ru.
Содержимое архива представлено в табл. П.1.
Таблица П.1. Содержимое электронного архива
Файл Описание
Listings.doc Все пронумерованные листинги, приведенные в книге
Readme.txt Описание электронного архива
Предметный указатель
@ AggregationError 427
AJAX 671
@babel-core 743 alert() 576, 585
@babel-preset-env 743 All Autocomplete 86
all() 425
_ alloc() 443
allocUnsafe() 444
__dirname 355, 462 allocUnsafeSlow() 445
__filename 347, 355, 462 allSettled() 428
__proto__ 276, 302 alt 649
altitude 613
A altitudeAccuracy 613
altKey 631
abort() 676, 712 anchorNode 599
AbortController 712 anchorOffset 599
AbortError 712 any() 426
abs() 165 append() 706, 713, 721
accept 641 appendChild() 592
access() 543 appendFile() 475, 478, 499
Access-Control-Allow-Credentials 726 appendFileSync() 472
Access-Control-Allow-Headers 726 apply() 254, 273, 305, 335, 336
Access-Control-Allow-Methods 726 arc() 660
Access-Control-Allow-Origin 725, 726 arcTo() 660
Access-Control-Max-Age 726 args 399
Access-Control-Request-Headers 725 arguments 255, 306, 316
Access-Control-Request-Method 725 argv 115
accessSync() 542 argv0 115
accuracy 613 Array 175
acos() 167 arrayBuffer() 711, 721
acosh() 167 arrowParens 412
action 634, 635 as 359, 367, 370
activeElement 578, 589 asin() 167
add() 197, 598, 645 asinh() 167
addColorStop() 662, 663 assert() 396
addEventListener() 618 assign() 294, 296, 588
addListener() 437 async 429, 571
addRange() 600 asyncIterator 433, 553
atan() 167
752 Предметный указатель
atanh() 167 C
atime 541
atimeMs 541 cache 708
atimeNs 541 call() 253, 273, 317
attributes 595 callee 406
author 100 cancelable 621
Auto Close Tag 23 canPlayType() 612
Auto Complete Tag 23 canvas 653
Auto Rename Tag 23 CanvasGradient 662, 663
autocomplete 635, 638 CanvasRenderingContext2D 653
AutoFileName 86 caption 593
autofocus 636 case 150
autoplay 611 catch 390
autoprefixer 731 catch() 424
availHeight 587 cbrt() 165
availWidth 587 ceil() 166
await 429 cellIndex 593
cells 593
B charAt() 207
charCodeAt() 207
babel-loader 743 checked 644
back() 588 checkValidity() 635
badInput 636 child_process 354
basename() 469 childNodes 591
beginPath() 659 children 358
bezierCurveTo() 661 chmodSync() 544
bigint 123, 159, 172 class 307, 308, 597
BigInt() 173 classList 595, 597
BigIntStats 539 className 595, 597
bind() 255, 273 clean-css-cli 732
birthtime 540 clean-webpack-plugin 741
birthtimeMs 540 clear() 115, 195, 198
birthtimeNs 540 clearImmediate() 246
blob() 711, 720 clearInterval() 245
blur() 637 clearRect() 656
body 578, 589, 708 clearTimeout() 244
bodyUsed 710, 719 clearWatch() 616
boolean 123 clientX 629
Boolean 128, 139 clientY 629
Bootstrap 101 clip() 661
Bootstrap 5 Snippets 87 clone() 710, 720
Bootstrap v4 Snippets 87 cloneContents() 602
Bracket Pair Colorizer 86 cloneNode() 592
bracketSpacing 411 cloneRange() 602
break 158 close 519, 522, 557
browserslistrc 730 close() 486, 488, 554, 557
bubbles 624 closePath() 659
buffer 460 closeSync() 485, 554
Buffer 443 code 614, 630
builtinModules 346, 360 collapse() 599, 602
button 629 collapsed 602
byteLength() 448 collapseToEnd() 600
byteOffset 460
Предметный указатель 753
collapseToStart() 599 ctimeMs 540
colorDepth 587 ctimeNs 540
COMMENT_NODE 591 ctrlKey 631
commonAncestorContainer 602 currency 169
CommonJS 345 currencyDisplay 169
compare() 456 currentSrc 611
compareBoundaryPoints() 603 currentTarget 620
complete 610 currentTime 611
concat() 182, 207, 453 customError 636
configurable 279 cwd() 463
confirm() 577, 585
console 109, 112, 396 D
const 128
construct() 334, 336 data 521, 522, 668, 690
constructor 303, 314 Date 238
constructor() 308 decode() 461
contains() 598 decodeURI() 213
containsNode() 600 decodeURIComponent() 213
continue 157 default 149, 368, 380
controls 611 defaultChecked 644
cookie 589, 604 defaultMaxListeners 439
Cookie 604 defaultPrevented 622
cookieEnabled 587, 604 defaultSelected 646
coords 613 defaultValue 638
copy() 451 defer 571, 573
copyFile() 530, 531 defineProperties() 283, 330
copyFileSync() 529 defineProperty() 275, 282, 283, 330, 331, 338
copy-webpack-plugin 747 delete 184, 296, 331
copyWithin() 178 delete() 195, 198, 706, 715, 723
CORS 724 deleteCaption() 594
cos() 166 deleteCell() 594
cosh() 167 deleteContents() 602
create() 277, 278 deleteFromDocument() 600
createCaption() 594 deleteProperty() 297, 331, 332, 338
createElement() 592 deleteRow() 594
createImageData() 668 deleteTFoot() 594
createLinearGradient() 662 deleteTHead() 594
createObjectURL() 720 delimiter 346, 359, 466
createPattern() 664 deltaMode 629
createRadialGradient() 663 deltaX 629
createRange() 601 deltaY 629
createReadStream() 520 deltaZ 629
createServer() 560 dependencies 101, 103
createTBody() 594 description 100
createTextNode() 592 detail 629
createTFoot() 594 devDependencies 101, 103
createTHead() 594 Dir 551, 552
createWriteStream() 516 Dirent 554
credentials 708, 726 dirname() 469
CSS Peek 87 disabled 636, 646
css-loader 744 do...while 154
ctime 540 document 585, 588
754 Предметный указатель
DOCUMENT_NODE 591 event 624
documentElement 589 Event 620, 621, 629
DocumentFragment 602 EventEmitter 436
DOM 584 eventNames() 439
DOMTokenList 597, 598 eventPhase 625
done 262, 318 events 436, 442
dotAll 225 every() 189
drain 519 exec() 222
drawImage() 658 execPath 115
duration 611 execSync() 354
existsSync() 544
E exit() 117, 391
exitCode 117
E 164 exp() 165
ECMAScript 15, 358 expires 605
ELEMENT_NODE 591 expm1() 165
elementFromPoint() 590 export 364, 369
elements 634 export default 367
emit() 436 exports 356, 357, 358, 377, 378
Emmet 42, 52, 75 extend() 600
empty() 600 extends 309
enableHighAccuracy 615 extname() 469
encode() 461 extractContents() 602
encodeURI() 213
encodeURIComponent() 213 F
encodingExists() 461
enctype 634, 635 false 123, 137, 143
end 522 fd 514
end() 518, 564 Fetch API 698
END_TO_END 603 fetch() 698
END_TO_START 603 File 642
endContainer 601 FileList 641
ended 612 file-loader 746
endOffset 601 filename 358
endOfLine 410 filepath 410
endsWith() 211 files 641
entries() 191, 196, 199, 288, 299, 456, 704, fill() 178, 445, 448, 659
fillRect() 656
714, 722 fillStyle 654
enumerable 279 fillText() 657
EPSILON 162 filter() 190
equals() 457 finally 390
error 519, 522 finally() 425
Error 392 find() 190
error() 114, 390 findIndex() 190
errors 427 finish 519
ESLint 415 firstChild 591, 690
eslint-config-airbnb-base 415 flags 226
eslint-config-prettier 415 flat() 180
eslint-plugin-import 415 flatMap() 188
eslint-plugin-prettier 415 floor() 166
eval() 214, 344, 692 focus() 637
EvalError 393
Предметный указатель 755
focusNode 599 getElementsByTagName() 578, 589, 596, 690
focusOffset 599 getFullYear() 242
font 657 getHeader() 564
for 151, 182, 454 getHeaderNames() 564
for await...of 431 getHeaders() 564
for() 291 getHours() 242
for...in 155, 193, 289 getImageData() 667
for...of 157, 183, 192, 196, 199, 317, 454 getItem() 608
forEach() 182, 196, 199, 455, 705, 715, 723 getLineDash() 655
form 634, 636 getMaxListeners() 439
format() 170, 468 getMilliseconds() 242
FormData 712, 713, 715 getMinutes() 242
formData() 711, 720 getMonth() 241
forms 585, 590, 634 getOwnPropertyDescriptor() 281, 329, 330, 339
forward() 588 getOwnPropertyDescriptors() 281
frames 584, 586 getOwnPropertyNames() 288
freeze() 284 getOwnPropertySymbols() 292
from() 176, 181, 200, 212, 316, 445–447, 451, getPrototypeOf() 277, 333, 334, 339
getRangeAt() 600, 601
459 getResponseHeader() 676
fromCharCode() 203 getSeconds() 242
fromEntries() 299 getSelection() 599
fs 470, 480, 485, 510, 516, 520, 526, 529, 532, getter 275, 280
getTime() 241
535, 544, 545, 548, 551, 556 getTimezoneOffset() 243
fstat() 537 getUTCDate() 241
fstatSync() 536 getUTCDay() 242
FSWatcher 557 getUTCFullYear() 242
ftruncate() 512 getUTCHours() 242
ftruncateSync() 511 getUTCMilliseconds() 242
fulfilled 423 getUTCMinutes() 242
function 123, 249 getUTCMonth() 241
Function 253 getUTCSeconds() 242
global 225, 385
G globalAlpha 666
globalCompositeOperation 665
geolocation 613 globalPaths 354
Geolocation 613 globalThis 386
GeolocationCoordinates 613 go() 588
GeolocationPosition 613
GeolocationPositionError 614 H
get 275, 280
get() 194, 325, 327, 337, 704, 713, 722 has() 194, 198, 327, 337, 705, 715, 723
getAll() 704, 714 hasAttribute() 596
getAllResponseHeaders() 676 hasChildNodes() 593
getAttribute() 595 hash 588, 703
getComputedStyle() 597 hasHeader() 564
getContext() 653 hasIndices 225
getCurrentPosition() 613–615 hasOwnProperty() 156, 290
getDate() 241 head 589
getDay() 242 header() 674
getElementById() 572, 578, 589 headers 562, 707, 719
getElementsByClassName() 578, 590, 596
getElementsByName() 578, 589
756 Предметный указатель
Headers 721 isDirectory() 540, 554
heading 613 isEncoding() 460
height 587, 611, 653 isExtensible() 287, 332, 333, 340
history 584, 588 isFile() 540, 554
host 588, 702 isFinite() 163, 172
hostname 587, 702 isFrozen() 285
href 587, 702 isInteger() 163
HTML CSS Support 86 isNaN() 143, 164, 172
http 560 isPointInPath() 662
httpVersion 563 isPrototypeOf() 277, 304
httpVersionMajor 563 isSafeInteger() 163
httpVersionMinor 563 isSealed() 286
hypot() 165 item() 598
iterator 318
I
J
iconv-lite 461
id 358, 572, 595 JavaScript 15
if...else 141 join() 187, 464, 467
ignoreCase 225 jQuery 101, 582, 742
ImageData 667, 668 jQuery Code Snippets 87
images 585, 590 JSON 340, 692
import 359, 369, 371, 380 json() 711, 720
import() 372 json_decode() 695
import.meta.url 361, 462 json_encode() 695
imports 383
in 290, 327 K
includes() 189, 210, 458
IncomingMessage 561, 562 keepalive 712
indeterminate 644 key 630
index 646 keyFor() 291
indexOf() 189, 210, 457 keys() 191, 195, 199, 287, 455, 704, 714, 722
Infinity 171 keywords 100
info() 113
innerHeight 585 L
innerHTML 572, 595
innerWidth 585 language 586
insertBefore() 592 lastChild 591
insertCell() 594 lastIndex 224
insertNode() 603 lastIndexOf() 189, 210, 458
insertRow() 594 lastMatch 235
instanceof 305, 315 lastModified 589, 642
Int16Array 443 latest 103
Int32Array 443 latitude 613
Int8Array 443 length 179, 207, 447, 586, 591, 598, 635,
integrity 709
Intl 170 645, 668
is() 137, 172, 293 lengthComputable 678
isAbsolute() 466 let 121, 122, 151
isArray() 176 license 100
isBuffer() 447 lineCap 654
isCollapsed 599 lineDashOffset 655
lineJoin 655
Предметный указатель 757
lineTo() 660 mkdir() 546
lineWidth 654 mkdirSync() 545
links 585, 591 mkdtemp() 547, 548
listen() 561 mkdtempSync() 547
listenerCount() 439 mode 540, 708
listeners() 439 module 346, 354, 356–358, 360
Live Sass Compiler 87 module.exports 356
Live Server 41 move_uploaded_file() 718
LN10 164 moveTo() 659
LN2 164 mtime 541
load() 612 multiline 225
loaded 358, 678 multiple 641, 645
localeCompare() 210 muted 611
localStorage 608
location 584, 587, 631 N
log() 109, 112, 132, 165, 396
log10() 165 name 100, 392, 399, 554, 586, 595, 634, 642
LOG10E 164 NaN 125, 142, 161, 171
log1p() 165 naturalHeight 610
log2() 165 naturalWidth 610
LOG2E 164 navigator 584, 586
longitude 613 NEGATIVE_INFINITY 161, 171
loop 611 networkState 612
new 300, 334
M new.target 301
next 103
main 100, 364, 376 next() 192, 262, 318
Map 193 nextSibling 592
map() 187 nextTick() 441
match() 212, 216 node 380
matchAll() 212, 217 Node Package Manager 97
Math 164, 165, 166, 171 Node.js
max 640 ◊ версия 93, 117
max() 165 ◊ установка 88
MAX_SAFE_INTEGER 161 node_modules 353, 364
MAX_VALUE 161 NODE_PATH 354
maximumAge 615 Nodemon 566
maximumFractionDigits 169 nodeName 591
maxLength 638 node-sass 733
measureText() 658 nodeType 591
message 392, 614 nodeValue 591
metaKey 631 normalize() 466
method 562, 634, 635, 707 noscript 571
min 640 Notepad++ 19
min() 165 noValidate 635
MIN_SAFE_INTEGER 161 now() 238
MIN_VALUE 161 NPM 97
mini-css-extract-plugin 744 npm-run-all 737
minimumFractionDigits 169 null 123
minimumIntegerDigits 169 number 123, 159
minLength 638 Number 128, 160, 169, 171
miterLimit 655 NumberFormat 170
758 Предметный указатель
O onprogress 631, 678
onratechange 632
O_APPEND 490 onreadystatechange 677
O_CREAT 490 onreset 635
O_EXCL 490 onresize 626
O_RDONLY 490 onscroll 626
O_RDWR 490 onseeked 632
O_TRUNC 490 onseeking 632
O_WRONLY 490 onselect 638
object 123 onstalled 632
Object 264, 298 onsubmit 635
of() 176 ontimeout 677
off() 440 ontimeupdate 631
offsetX 629 onunload 626
offsetY 629 onvolumechange 631
ok 719 onwaiting 632
on() 437, 442 onwheel 628
onabort 632, 677 open 519, 522
onafterprint 626 open() 486, 487, 585, 675
onbeforeprint 626 opendir() 551, 552
onbeforeunload 626 opendirSync() 551
onblur 637 openSync() 485
oncanplay 631 options 645
oncanplaythrough 631 origin 702
once() 438 Origin 725, 726
onchange 638 os 346, 360, 463
onclick 627 outerHeight 585
oncontextmenu 628 outerWidth 585
ondblclick 627 outputCapture 400
ondurationchange 631 overrideMimeType() 676
onemptied 632 overrides 412
onended 631 ownKeys() 289, 328, 338
onerror 632, 678
onfocus 637 P
oninput 638
oninvalid 637 package.json 98
onkeydown 630 padEnd() 211
onkeypress 630 padStart() 211
onkeyup 630 pageX 629
onLine 587 pageXOffset 585
onload 626, 678 pageY 629
onloadeddata 631 pageYOffset 585
onloadedmetadata 631 parent 586
onloadend 678 parentNode 591
onloadstart 631, 678 parse() 239, 343, 468, 692
onmousedown 627 parseFloat() 126, 163, 168
onmousemove 627 parseInt() 126, 163, 167
onmouseout 628 parser 410
onmouseover 628 password 703
onmouseup 627 path 358, 462, 466, 552
onpause 631 PATH 93
onplay 631 pathname 588, 703
onplaying 632 paths 358
Предметный указатель 759
pattern 638 Range 601
patternMismatch 636 rangeCount 599
pause() 612 RangeError 393
paused 611 rangeOverflow 636
pending 423 rangeUnderflow 636
PI 164 raw() 206
pipe 523 rawHeaders 562
pipe() 523 rawListeners() 439
placeholder 638 read() 503, 506, 507, 521, 552, 553
platform() 346 readable 521, 522
play() 612 readBigInt64BE() 450
playbackRate 612 readBigInt64LE() 450
Polacode 87 readBigUInt64BE() 450
pop() 185 readBigUInt64LE() 450
port 588, 702 readdir() 555, 556
PositionOption 615 readdirSync() 555
POSITIVE_INFINITY 162, 171 readDoubleBE() 450
posix 463, 466 readDoubleLE() 450
postcss 731 readFile() 481, 483, 508
postcss-cli 731 readFileSync() 480
poster 611 readFloatBE() 450
pow() 165 readFloatLE() 450
preload 611 readInt16BE() 450
prependListener() 438 readInt16LE() 450
prependOnceListener() 438 readInt32BE() 450
Prettier 407, 415 readInt32LE() 450
preventDefault() 621 readInt8() 450
preventExtensions() 287, 332, 333, 340 readIntBE() 450
previousSibling 591 readIntLE() 450
printWidth 410 readOnly 636
process 115, 117 ReadStream 520
program 400 readSync() 500, 552
Promise 421 readUInt16BE() 450
prompt() 577, 585 readUInt16LE() 450
propertyIsEnumerable() 156, 280, 289 readUInt32BE() 450
protocol 587, 702 readUInt32LE() 450
prototype 301 readUInt8() 450
Proxy 322 readUIntBE() 450
push() 184 readUIntLE() 450
putImageData() 669 readv() 505, 509
readvSync() 502
Q ready 519, 522
readyState 589, 612, 677
quadraticCurveTo() 661 rect() 661
querySelector() 579, 590, 596 redirect 708
querySelectorAll() 579, 590, 596 redirected 719
quoteProps 410 reduce() 188
reduceRight() 188
R ReferenceError 393
referrer 589, 709
race() 427 referrerPolicy 709
random() 171 Reflect 336
760 Предметный указатель
RegExp 215, 222 S
reject() 422, 423
rejected 423 sass 101
relatedTarget 629 sass-loader 744
relative() 468 save() 664
reload() 588 scale() 665
remove() 598, 646 screen 584, 587
removeAllListeners() 440 screenLeft 585
removeAllRanges() 600 screenTop 585
removeAttribute() 596 screenX 585, 629
removeChild() 593 screenY 585, 629
removeEventListener() 619 script 570
removeItem() 609 scripts 100, 104, 585, 591
removeListener() 440 scrollBy() 585
removeRange() 600 scrollIntoView() 596
rename() 527, 528 scrollTo() 585
renameSync() 526 scrollX 585
repeat 631 scrollY 585
repeat() 213 SCSS 733
replace() 212, 220, 588 SCSS IntelliSense 87
replaceAll() 212, 221 seal() 286
replaceChild() 593 search 588, 703
request 399 search() 212, 216
Request 707, 710 searchParams 703
require 380 sectionRowIndex 593
require() 345, 348, 356 seeking 612
require.cache 350 select() 638
require.main 345 selectAllChildren() 600
required 636 selected 646
reset() 635 selectedIndex 645
resolve() 352, 422, 423, 463, 464, 467 selectedOptions 645
resolvedOptions() 170 selection 599
response 679, 680 selectionEnd 600, 638
Response 718–720 selectionStart 600, 638
responseText 679, 680 selectNode() 602
responseType 679 selectNodeContents() 602
responseXML 679 self 586
REST 256, 257, 261 semi 410
restore() 664 send() 676
return 249 sep 359, 466
reverse() 185 Server 561
revocable() 335 ServerResponse 561, 563
rm() 534, 535, 549, 550 sessionStorage 608
rmdir() 550 set 274, 280
rmdirSync() 548 Set 197
rmSync() 532, 549 set() 194, 324, 327, 337, 705, 713, 721
rotate() 665 setAttribute() 596
round() 166 setCustomValidity() 651
rowIndex 593 setEncoding() 521
rows 593 setEnd() 602
runtimeArgs 399 setEndAfter() 602
runtimeExecutable 399 setEndBefore() 602
Предметный указатель 761
setHeader() 564 statSync() 535
setImmediate() 246, 441 status 677, 719
setInterval() 244 statusCode 564
setItem() 608 statusMessage 564
setLineDash() 655 statusText 677, 719
setMaxListeners() 439 StatWatcher 558
setPosition() 599 stderr 114, 514, 525
setPrototypeOf() 277, 333, 334, 339 stdin 514
setRequestHeader() 676 stdout 112, 359, 398, 514, 525
setSelectionRange() 601 step 640
setStart() 602 stepDown() 640
setStartAfter() 602 stepMismatch 636
setStartBefore() 602 stepUp() 640
setter 274, 280 sticky 225
setTime() 239 stopPropagation() 624
setTimeout() 244 Storage 608
shadowBlur 667 string 123
shadowColor 667 String 128, 203
shadowOffsetX 667 stringify() 340
shadowOffsetY 667 stroke() 659
shift() 184 strokeRect() 656
shiftKey 631 strokeStyle 654
sign() 166 strokeText() 657
signal 712 style 169, 596
sin() 166 style-loader 744
singleQuote 410 subarray() 452
sinh() 167 submit() 635
size 194, 198, 540, 642, 645 substr() 209
skipFiles 400 substring() 209
slice() 181, 186, 209, 317, 451, 452 super 310
some() 190 super() 310
sort() 185 surroundContents() 603
source 226 swap16() 453
speed 613 swap32() 454
spellcheck 642 swap64() 454
splice() 185 switch 148, 149
split() 212, 221 symbol 123, 291
SPREAD 175, 178, 181, 182, 257, 293, 295, Symbol 291
SyntaxError 387, 393
317, 459
sqrt() 165 T
SQRT1_2 164
SQRT2 164 table() 113, 176
src 571, 611, 649 tabWidth 410
stack 392 tagName 595
START_TO_END 603 tan() 166
START_TO_START 603 tanh() 167
startContainer 601 target 620, 635
startOffset 601 tBodies 593
startsWith() 211 test() 222
stat() 536–538 text 646
static 313 text() 710, 720
Stats 535–538
762 Предметный указатель
TEXT_NODE 591 typeMismatch 636
textAlign 657 typeof 124
textBaseline 658 TypeScript 103
textContent 595
tFoot 593 U
tHead 593
then() 423 Uint16Array 443
this 253–255, 272, 298, 300, 619 Uint32Array 443
throw 393 Uint8Array 443, 446
time() 247 undefined 124
timeEnd() 247 unicode 226
timeLog() 247 unlink() 533, 534
timeout 615, 677 unlinkSync() 532
timeStamp 620 unpipe 523
title 588 unpipe() 523
tmpdir() 547 unshift() 184
toDateString() 240 unwatchFile() 559
toExponential() 162, 169 upload 679
toFixed() 162, 169 URIError 393
toggle() 598 url 562, 719
toISOString() 240 URL 589, 701, 702
toJSON() 240, 341, 447 URLSearchParams 703
toLocaleDateString() 240 URL-кодирование строки 213
toLocaleLowerCase() 208 use strict 402
toLocaleString() 163, 169, 174, 187, 240 useGrouping 170
toLocaleTimeString() 241 userAgent 586
toLocaleUpperCase() 208 username 703
toLowerCase() 208 useTabs 410
tooLong 636 UTC() 239
tooShort 636 utimesSync() 541
top 586
toPrecision() 162, 169 V
toPrimitive 446
toString() 126, 162, 168, 174, 187, 203, 240, valid 637
validationMessage 636
298, 306, 459, 599, 602, 703 validity 636
total 678 ValidityState 636
toTimeString() 241 value 262, 279, 318, 595, 638, 645, 646, 649
toUpperCase() 208 valueMissing 636
toUTCString() 240 valueOf() 162, 203, 241, 307
trailingComma 412 values() 191, 195, 199, 288, 455, 704, 714,
transcode() 460
translate() 665 722
trim() 211 var 121, 568
trimLeft() 211 version 100, 117
trimRight() 211 version() 346
true 123, 137, 144 videoHeight 611
trunc() 166 videoWidth 611
truncate() 512, 513 visibilityState 589
truncateSync() 510 Visual Studio Code 19
try...catch 389 volume 611
type 399, 570, 620, 636, 642, 645, 719 VS Code 19
TypeError 393
Предметный указатель 763
W writeInt16BE() 449
writeInt16LE() 449
warn() 114 writeInt32BE() 449
watch() 556 writeInt32LE() 449
watchFile() 558 writeInt8() 449
watchPosition() 616 writeIntBE() 449
Webpack 737 writeIntLE() 449
webpack-cli 737 writeln() 590
while 153 WriteStream 516
width 587, 611, 653 writeSync() 491
willValidate 637 writeUInt16BE() 449
win32 463, 466 writeUInt16LE() 449
window 568, 585, 586 writeUInt32BE() 449
withCredentials 679 writeUInt32LE() 449
wrap 642 writeUInt8() 449
writable 279, 518 writeUIntBE() 449
writableEnded 518, 564 writeUIntLE() 449
write() 114, 398, 449, 493, 496, 518, 563, 571, writev() 495, 498
writevSync() 492
590
writeBigInt64BE() 449 X
writeBigInt64LE() 449
writeBigUInt64BE() 449 x 629
writeBigUInt64LE() 449 XMLHttpRequest 675, 677, 680
writeDoubleBE() 449
writeDoubleLE() 449 Y
writeFile() 473, 477, 499
writeFileSync() 470 y 629
writeFloatBE() 449 yield 262
writeFloatLE() 449
writeHead() 564
А В
Абсолютное значение 165 Веб-браузер 568
Арккосинус 167 Веб-сервер 560
Арксинус 167 Возведение в степень 134
Арктангенс 167 Время 238
Асинхронность 421 Всплывание события 624
Асинхронный итератор 433 Выделение 599
Атрибут свойства 278 Вычитание 133
Б Г
Бесконечность 171 Геолокация 613
Блок 130 Градиент 662
Группа 232
764 Предметный указатель
Д М
Дата 238 Массив 175
Действие по умолчанию 621 ◊ ассоциативный 192, 193
Декремент 134 ◊ добавление элемента 183
Деление 133 ◊ зубчатый 180
◊ изменение элемента 177
З ◊ инициализация 175
◊ многомерный 179
Зависимость 101 ◊ объединение 182
Замыкание 252, 259 ◊ перебор элементов 182
Запятая 136 ◊ переворачивание 185
◊ поиск элемента 189
И ◊ получение части 186
◊ получение элемента 177
Именование переменной 119 ◊ преобразование в массив 187
Инверсия 135 ◊ преобразование в строку 187
Инициализация 120 ◊ размер 179
Инкремент 134 ◊ создание копии 181
Инструменты разработчика 575 ◊ сортировка 185
Интерактивный режим 111 ◊ удаление элемента 184
Исключение 389 ◊ фильтрация 190
◊ генерирование 393 Математическая константа 164
◊ обработка 389 Метасимвол 228
Итератор 317 Метод
◊ асинхронный 433 ◊ генератор 319
◊ приватный 312
К ◊ статический 307, 313
Метод объекта 270
Квадратный корень 165 Множество 197
Квантификатор 231 ◊ объединение 200
Класс 299, 307 ◊ пересечение 200
◊ базовый 310 ◊ разница 201
◊ производный 310 ◊ симметрическая разница 201
Кодировка 443, 460 Модуль 345
Командная строка 92 ◊ CommonJS 345
Комментарии 109 ◊ ECMAScript 358
Конкатенация строк 206 Мультимедиа 611
Консоль 92, 575
Консольное приложение 94 Н
Константа 128
Конструктор класса 300, 308 Наследование 303, 309
Контекст рисования 653 Неименованный блок 130
Косинус 166, 167
Кросс-доменный запрос 724 О
Кубический корень 165
Обработка исключений 389
Л Обработка ошибок 387
Обработчик события 435
Логарифм 165 Обратная ссылка 235
Лямбда-выражение 260
Предметный указатель 765
Объединение множеств 200 Подкласс 310
Объект 264 Пользовательские фрагменты кода 77
◊ вложенный 267 Поток 516
◊ массивоподобный 316 ◊ ввода 516
Объектная модель документа 584 ◊ вывода 516
Объектно-ориентированное Потомок 591
Пошаговое выполнение программы 401
программирование (ООП) 264 Права доступа 542
Оператор 133 Присваивание 120
◊ ? 268 Прототип 276, 301
◊ ?. 271 Псевдомассив 316
◊ ?: 147 Путь 463
◊ break 158
◊ continue 157 Р
◊ in 290
◊ new 300 Разница множеств 201
◊ ветвления 141 Распаковка объекта 268
◊ выбора 148 Регулярное выражение 215
◊ запятая 136 Рекурсия 263
◊ математический 133 Репозиторий 100
◊ нулевого слияния 139 Родитель 591
◊ опциональной последовательности 268,
С
271
◊ побитовый 135 Свойство
◊ приоритет выполнения 140 ◊ приватное 312
◊ присваивания 139 ◊ публичное 311
◊ сравнения 137 ◊ статическое 307, 313
◊ условный 141 Свойство объекта 265
Остаток от деления 133 Сервер 560
Отладка программы 396 Симметрическая разница множеств 201
Отладчик 580 Синус 166, 167
Ошибка 387 Скрипт 104, 568
◊ времени выполнения 389 ◊ запуск 107
◊ логическая 388 Сложение 133
Событие 435
П ◊ обработка 435
Специальный символ 204
Пакет 345 Строгий режим 402
Переменная 119 Строка 202
◊ вывод значения 132 ◊ URL-кодирование 213
◊ глобальная 129 ◊ в обратных кавычках 205
◊ именование 119 ◊ длина 207
◊ инициализация 120 ◊ замена 210
◊ локальная 129 ◊ изменение регистра 208
◊ локальная внутри блока 129 ◊ инициализация 202
◊ область видимости 129 ◊ конкатенация 206
◊ объявление 120 ◊ неформатированная 206
◊ присваивание значения 120 ◊ повтор 213
◊ проверка существования 124 ◊ поиск 210
◊ уровня приложения 385 ◊ получение фрагмента 209
Переопределение метода 310
766 Предметный указатель
Строка (прод.) ◊ рекурсия 263
◊ преобразование в массив 212 ◊ создание 249
◊ специальный символ 204 ◊ стрелочная 260
◊ сравнение 209 ◊ тригонометрическая 166
◊ шаблон строки 205
Суперкласс 310 Х
Т Холст 653
Хранилище 607
Таймер 244, 579 ◊ локальное 608
Тангенс 166, 167 ◊ сессионное 608
Текстура 664
Текущий рабочий каталог 463 Ц
Тип данных 123
◊ преобразование 125 Цикл
Точки останова 397 ◊ do...while 154
◊ for 151
У ◊ for await...of 431
◊ for...in 155
Узел 591 ◊ for...of 157
◊ дочерний 591 ◊ while 153
◊ родительский 591 Цикл обработки событий 436
Умножение 133
Унарный минус 134 Ч
Унарный плюс 134
Установка Node.js 88 Число 159
Установка пакетов 101 ◊ bigint 159, 172
◊ number 159
Ф ◊ Number 160
◊ восьмеричное 159
Фаза события 625 ◊ двоичное 159
Файл 462 ◊ математическая константа 164
◊ отправка 715 ◊ ограничения точности 160
◊ режим открытия 489 ◊ округление 166
◊ создание 35 ◊ преобразование 167, 168
Факториал 263 ◊ псевдослучайное 171
Форматирование кода 85, 394, 407 ◊ указание значения 159
Функция 249 ◊ шестнадцатеричное 159
◊ анонимная 258
◊ вложенная 252 Ш
◊ вызов 250
◊ генератор 261 Шаблон строки 205
◊ замыкание 252 Шаблоны строк 132
◊ необязательный параметр 257
◊ передача параметров 256 Э
◊ произвольное число параметров 255
◊ расположение 251 Экспонента 165
www.bhv.ru Дронов В.
JavaScript: 20 уроков для начинающих
Отдел оптовых поставок:
e-mail: [email protected]
JavaScript в картинках и упражнениях
Вы узнаете, как
• обрабатывать события,
• добавлять элементы на веб-страницу,
• создать свой видеопроигрыватель,
• проверить правильность введения данных
в веб-форму,
• выполнять длительные вычисления в фоновом
потоке,
• нарисовать график на веб-странице,
• объявить свой класс,
• написать компонент,
• загрузить данные с сервера,
• программировать фронтенды и бэкенды,
• отлаживать веб-сценарии.
В книге 20 иллюстрированных уроков, 40 практических упражнений на тему про-
граммирования веб-сценариев и более 70 заданий для самостоятельной работы. Из-
ложены основы JavaScript: данные и операторы, выражения и управляющие конст-
рукции, функции, классы, объекты и массивы, средства отладки. Раскрыты
механизмы управления веб-страницами: события и их обработка, управление эле-
ментами, графика и мультимедиа, веб-формы и элементы управления, регулярные
выражения, навигация и управление окнами. Рассмотрена работа с HTML API и
компонентное программирование: асинхронное программирование, работа с внеш-
ними данными, программная графика, объявление своих классов, создание компо-
нентов. Освещены технологии взаимодействия с сервером: AJAX, PHP, разработка
фронтендов и бэкендов, серверные сообщения.
Дронов Владимир Александрович, профессиональный программист, писатель и журналист,
работает с компьютерами с 1987 года. Автор более 30 популярных компьютерных книг, в том
числе «HTML и CSS: 25 уроков для начинающих», «Django 2.1. Практика создания веб-сайтов
на Python», «HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера»,
«Python 3. Самое необходимое», «Python 3 и PyQt 5. Разработка приложений», «Laravel. Быст-
рая разработка современных динамических Web-сайтов на PHP, MySQL, HTML и CSS», книг
по продуктам Adobe Flash и Adobe Dreamweaver различных версий. Его статьи публикуются
в журналах «Мир ПК» и «ИнтерФейс» (Израиль) и интернет-порталах IZ City и TheVista.ru.
www.bhv.ru Прохоренок Н., Дронов В.
HTML, JavaScript, PHP и MySQL.
Джентльменский набор Web-мастера, 5-е изд.
Отдел оптовых поставок:
E-mail: [email protected]
Объединение технологий — путь к вершинам мастерства
• HTML 5
• CSS 3
• PHP 7.2
• Web-сервер Apache
• phpMyAdmin
• AJAX
• Примеры и советы из практики
Прочитав книгу, вы научитесь не только основам
технологий, но и самому главному — объединению
этих технологий для создания единого целого —
Web-сайта. Сотни примеров позволят наглядно уви-
деть весь процесс создания интерактивного сайта. Вы
будете работать с базами данных, обрабатывать дан-
ные формы, отправлять письма с сайта, загружать
файлы на сервер с помощью формы, сможете создать Личный кабинет для пользо-
вателей, гостевую книгу, форум и многое другое.
В 5-м издании содержится описание возможностей, предлагаемых PHP 7.2, новых
инструментов JavaScript (включая рисование на холсте, средства геолокации и ло-
кальное хранилище данных) и всех нововведений, появившихся в актуальных на
данный момент версиях HTML, CSS, Apache, MySQL и технологии AJAX.
Прохоренок Николай Анатольевич, профессиональный программист, имеющий большой
практический опыт создания и продвижения динамических сайтов с использованием
HTML, JavaScript, PHP, Perl и MySQL. Автор книг «Python 3 и PyQt 5. Разработка приложе-
ний», «Python 3. Самое необходимое», «Основы Java», «OpenCV и Java. Обработка изобра-
жений и компьютерное зрение» и др.
Дронов Владимир Александрович, профессиональный программист, писатель и журна-
лист, работает с компьютерами с 1987 года. Автор более 20 популярных компьютерных
книг, в том числе «Python 3 и PyQt 5. Разработка приложений», «Laravel. Быстрая разработ-
ка современных динамических Web-сайтов на PHP, MySQL, HTML и CSS», «Angular 4. Бы-
страя разработка сверхдинамических Web-сайтов на TypeScript и PHP» и книг по продуктам
Adobe Flash и Adobe Dreamweaver различных версий. Его статьи публикуются в журналах
«Мир ПК» и «ИнтерФейс» (Израиль) и интернет-порталах IZ City и TheVista.ru.