Javascript мануал на русском

javascript


Operators

  1. Addition
  2. Addition assignment
  3. Assignment
  4. async function
  5. async function*
  6. await
  7. Bitwise AND
  8. Прямо пропорционально И назначение
  9. Bitwise NOT
  10. Bitwise OR
  11. Побитовое ИЛИ назначение
  12. Bitwise XOR
  13. битовое XOR-присвоение
  14. class
  15. Comma Operator
  16. Conditional Operator
  17. Decrement
  18. delete
  19. Destructuring assignment
  20. Division
  21. Division assignment
  22. Equality
  23. Exponentiation
  24. Exponentiation assignment
  25. function
  26. function*
  27. Greater than
  28. Больше или равны
  29. Grouping
  30. import
  31. import.meta
  32. in
  33. Increment
  34. Inequality
  35. instanceof
  36. Left shift
  37. Назначение левой смены
  38. Less than
  39. Менее или равно
  40. Logical AND
  41. Логическое задание И
  42. Logical NOT
  43. Логическое присвоение нулей
  44. Logical OR
  45. Логическое задание ИЛИ
  46. Multiplication
  47. Multiplication assignment
  48. new
  49. new.target
  50. null
  51. Нулевой оператор коалесценции
  52. Object initializer
  53. Operator Precedence
  54. Optional chaining
  55. Property Accessors
  56. Remainder
  57. Remainder assignment
  58. Right shift
  59. Назначение правого сдвига
  60. Spread syntax
  61. Strict equality
  62. Strict inequality
  63. Subtraction
  64. Subtraction assignment
  65. super
  66. this
  67. typeof
  68. Unary negation
  69. Unary plus
  70. Беззнаковый сдвиг вправо
  71. Неподписанное назначение сдвига вправо
  72. void
  73. yield
  74. yield*

Array

  1. Array
  2. Array.@@iterator
  3. Array.@@species
  4. array.@@unscopables
  5. Array.array
  6. array.at
  7. array.concat
  8. Array.copyWithin
  9. array.entries
  10. array.every
  11. array.fill
  12. array.filter
  13. array.find
  14. Array.findIndex
  15. Array.findLast
  16. Array.findLastIndex
  17. array.flat
  18. Array.flatMap
  19. Array.forEach
  20. Array.from
  21. array.group
  22. Array.groupToMap
  23. array.includes
  24. Array.indexOf
  25. Array.isArray
  26. array.join
  27. array.keys
  28. Array.lastIndexOf
  29. array.length
  30. array.map
  31. Array.of
  32. array.pop
  33. array.push
  34. array.reduce
  35. Array.reduceRight
  36. array.reverse
  37. array.shift
  38. array.slice
  39. array.some
  40. array.sort
  41. array.splice
  42. Array.toLocaleString
  43. Array.toString
  44. array.unshift
  45. array.values

ArrayBuffer

  1. ArrayBuffer
  2. ArrayBuffer.@@species
  3. ArrayBuffer.arrayBuffer
  4. ArrayBuffer.byteLength
  5. ArrayBuffer.isView
  6. arrayBuffer.slice

Statements

  1. async function
  2. async function*
  3. block
  4. break
  5. class
  6. const
  7. continue
  8. debugger
  9. do…while
  10. Empty
  11. export
  12. for
  13. for-await…of
  14. for…in
  15. for…of
  16. function
  17. function*
  18. if…else
  19. import
  20. label
  21. let
  22. return
  23. switch
  24. throw
  25. try…catch
  26. var
  27. while
  28. with

Global Objects

  1. AsyncGenerator
  2. BigInt
  3. BigInt64Array
  4. BigUint64Array
  5. decodeURI
  6. decodeURIComponent
  7. encodeURI
  8. encodeURIComponent
  9. eval
  10. FinalizationRegistry
  11. Float32Array
  12. Float64Array
  13. globalThis
  14. Infinity
  15. Int16Array
  16. Int32Array
  17. Int8Array
  18. isFinite
  19. isNaN
  20. NaN
  21. parseFloat
  22. parseInt
  23. Proxy
  24. Uint16Array
  25. Uint32Array
  26. Uint8Array
  27. Uint8ClampedArray
  28. undefined
  29. WeakRef
  30. WebAssembly

Atomics

  1. Atomics
  2. Atomics.add
  3. Atomics.and
  4. Atomics.compareExchange
  5. Atomics.exchange
  6. Atomics.isLockFree
  7. Atomics.load
  8. Atomics.notify
  9. Atomics.or
  10. Atomics.store
  11. Atomics.sub
  12. Atomics.wait
  13. Atomics.waitAsync
  14. Atomics.xor

BigInt

  1. BigInt.asIntN
  2. BigInt.asUintN
  3. BigInt.bigInt
  4. BigInt.toLocaleString
  5. BigInt.toString
  6. BigInt.valueOf

Classes

  1. Classes
  2. Статические блоки инициализации класса
  3. constructor
  4. extends
  5. Частные поля класса
  6. Публичный класс Поля
  7. static

DataView

  1. DataView
  2. dataView.buffer
  3. DataView.byteLength
  4. DataView.byteOffset
  5. DataView.dataView
  6. DataView.getBigInt64
  7. DataView.getBigUint64
  8. DataView.getFloat32
  9. DataView.getFloat64
  10. DataView.getInt16
  11. DataView.getInt32
  12. DataView.getInt8
  13. DataView.getUint16
  14. DataView.getUint32
  15. DataView.getUint8
  16. DataView.setBigInt64
  17. DataView.setBigUint64
  18. DataView.setFloat32
  19. DataView.setFloat64
  20. DataView.setInt16
  21. DataView.setInt32
  22. DataView.setInt8
  23. DataView.setUint16
  24. DataView.setUint32
  25. DataView.setUint8

Date

  1. Date
  2. Date.@@toPrimitive
  3. Date.date
  4. Date.getDate
  5. Date.getDay
  6. Date.getFullYear
  7. Date.getHours
  8. Date.getMilliseconds
  9. Date.getMinutes
  10. Date.getMonth
  11. Date.getSeconds
  12. Date.getTime
  13. Date.getTimezoneOffset
  14. Date.getUTCDate
  15. Date.getUTCDay
  16. Date.getUTCFullYear
  17. Date.getUTCHours
  18. Date.getUTCMilliseconds
  19. Date.getUTCMinutes
  20. Date.getUTCMonth
  21. Date.getUTCSeconds
  22. Date.getYear
  23. Date.now
  24. Date.parse
  25. Date.setDate
  26. Date.setFullYear
  27. Date.setHours
  28. Date.setMilliseconds
  29. Date.setMinutes
  30. Date.setMonth
  31. Date.setSeconds
  32. Date.setTime
  33. Date.setUTCDate
  34. Date.setUTCFullYear
  35. Date.setUTCHours
  36. Date.setUTCMilliseconds
  37. Date.setUTCMinutes
  38. Date.setUTCMonth
  39. Date.setUTCSeconds
  40. Date.setYear
  41. Date.toDateString
  42. Date.toGMTString
  43. Date.toISOString
  44. Date.toJSON
  45. Date.toLocaleDateString
  46. Date.toLocaleString
  47. Date.toLocaleTimeString
  48. Date.toString
  49. Date.toTimeString
  50. Date.toUTCString
  51. Date.UTC
  52. Date.valueOf

Errors

  1. Errors
  2. Ошибки:Уже есть прагма
  3. Ошибки:Аргумент сортировки массива
  4. Ошибки:Плохой восьмеричный
  5. Ошибки:Плохой радиус
  6. Ошибки:Плохой регэкспресс-флаг
  7. Ошибки:Плохая отдача или урожайность
  8. Ошибки:Деление BigInt на ноль
  9. Ошибки:BigInt отрицательная экспонента
  10. Ошибки:Вызывается несовместимый тип
  11. Ошибки:Лексическое декларирование доступа Канта перед входом в систему
  12. Ошибки:Невозможно присвоить свойству
  13. Ошибки:Невозможно преобразовать в BigInt,потому что это не целое число
  14. Ошибки:Невозможно преобразовать BigInt в число
  15. Ошибки:Невозможно преобразовать x в BigInt
  16. Ошибки:Кант определяет объект свойства не расширяемый
  17. Ошибки:Кант удалить
  18. Ошибки:Кант переопределить свойства
  19. Ошибки:Cant use nullish coalescing unparenthesized
  20. Ошибки:Циклическое значение объекта
  21. Ошибки:Мертвый объект
  22. Ошибки:Удалить в строгом режиме
  23. Ошибки:Устаревший вызывающий абонент или использование аргументов
  24. Ошибки:Закрытие устаревших выражений
  25. Ошибки:Исключенный восьмеричный
  26. Ошибки:Утраченная прагма на исходной карте
  27. Ошибки:Устаревшие дженерики струн
  28. Ошибки:Исключенный формат toLocaleFormat
  29. Ошибки:Равны как заданные
  30. Ошибки:Только Геттер
  31. Ошибки:Хэш вне класса
  32. Ошибки:Идентификатор после номера
  33. Ошибки:Незаконный характер
  34. Ошибки:в операторе нет объекта
  35. Ошибки:Недействительная длина массива
  36. Ошибки:Неверное назначение слева
  37. Ошибки:Неверный синтаксис BigInt
  38. Ошибки:Недействительное назначение константы
  39. Ошибки:Недействительная дата
  40. Ошибки:Недействительный инициализатор
  41. Ошибки:Недействительный инициализатор
  42. Ошибки:недействительный правый экземпляр оперэнда
  43. Ошибки:неудобно
  44. Ошибки:JSON плохой анализ
  45. Ошибки:Некорректный формальный параметр
  46. Ошибки:Некорректная УРТ
  47. Ошибки:Пропущенная скобка после списка
  48. Ошибки:Пропавшая толстая кишка после удостоверения личности
  49. Ошибки:Пропавшая кудрявая после функции тела
  50. Ошибки:Пропущенный кудрявый после списка свойств
  51. Ошибки:Отсутствие формального параметра
  52. Ошибки:Пропал инициализатор в const
  53. Ошибки:Пропущенное имя после точечного оператора
  54. Ошибки:Пропущенные скобки после списка аргументов
  55. Ошибки:Пропущенные скобки после состояния
  56. Ошибки:Пропущенная точка с запятой перед заявлением
  57. Ошибки:Требуется больше аргументов
  58. Ошибки:Отрицательный счетчик повторов
  59. Ошибки:Нет ненулевого объекта
  60. Ошибки:Нет свойств
  61. Ошибки:Имя переменной отсутствует
  62. Ошибки:Не настраиваемый элемент массива
  63. Ошибки:Не кодовая точка
  64. Ошибки:Не конструктор
  65. Ошибки:Не функция
  66. Ошибки:Не определено
  67. Ошибки:Диапазон точности
  68. Ошибки:В доступе к собственности отказано
  69. Errors: Read-only
  70. Ошибки:Заново объявленный параметр
  71. Ошибки:Сокращение пустого массива без начального значения
  72. Ошибки:Зарезервированный идентификатор
  73. Ошибки:В результате слишком большая строка
  74. Ошибки:Stmt после возврата
  75. Ошибки:Строгие,не простые парамы
  76. Ошибки:Слишком много рекурсии
  77. Ошибки:Незадекларированный лак
  78. Ошибки:Неопределённая опора
  79. Ошибки:Неожиданный жетон
  80. Ошибки:Неожиданный тип
  81. Ошибки:Неназванный оператор функции
  82. Ошибки:Unparenthesized unary expr lhs exponentiation
  83. Ошибки:Непрерывный строковый литерал
  84. AggregateError
  85. AggregateError.aggregateError
  86. Error
  87. Error.cause
  88. Error.columnNumber
  89. Error.error
  90. Error.fileName
  91. Error.lineNumber
  92. error.message
  93. error.name
  94. Error.stack
  95. Error.toString
  96. EvalError
  97. EvalError.evalError
  98. InternalError
  99. InternalError.internalError
  100. RangeError
  101. RangeError.rangeError
  102. ReferenceError
  103. ReferenceError.referenceError
  104. SyntaxError
  105. SyntaxError.syntaxError
  106. TypeError
  107. TypeError.typeError
  108. URIError
  109. URIError.uRIError

Function

  1. Functions
  2. arguments
  3. arguments.@@iterator
  4. arguments.callee
  5. arguments.length
  6. Arrow functions
  7. Default parameters
  8. get
  9. Method definitions
  10. rest parameters
  11. set
  12. AsyncFunction
  13. AsyncGeneratorFunction
  14. Function
  15. function.apply
  16. Function.arguments
  17. function.bind
  18. function.call
  19. Function.caller
  20. Function.displayName
  21. Function.function
  22. function.length
  23. function.name
  24. Function.prototype
  25. Function.toString
  26. GeneratorFunction

Intl

  1. Intl
  2. Intl.collator
  3. Intl.collator.Collator
  4. Intl.collator.compare
  5. Intl.collator.resolvedOptions
  6. Intl.collator.supportedLocalesOf
  7. Intl.dateTimeFormat
  8. Intl.dateTimeFormat.DateTimeFormat
  9. Intl.dateTimeFormat.format
  10. Intl.dateTimeFormat.formatRange
  11. Intl.dateTimeFormat.formatRangeToParts
  12. Intl.dateTimeFormat.formatToParts
  13. Intl.dateTimeFormat.resolvedOptions
  14. Intl.dateTimeFormat.supportedLocalesOf
  15. Intl.displayNames
  16. Intl.displayNames.DisplayNames
  17. Intl.displayNames.of
  18. Intl.displayNames.resolvedOptions
  19. Intl.displayNames.supportedLocalesOf
  20. Intl.getCanonicalLocales
  21. Intl.listFormat
  22. Intl.listFormat.format
  23. Intl.listFormat.formatToParts
  24. Intl.listFormat.ListFormat
  25. Intl.listFormat.resolvedOptions
  26. Intl.listFormat.supportedLocalesOf
  27. Intl.locale
  28. Intl.locale.baseName
  29. Intl.locale.calendar
  30. Intl.locale.calendars
  31. Intl.locale.caseFirst
  32. Intl.locale.collation
  33. Intl.locale.hourCycle
  34. Intl.locale.hourCycles
  35. Intl.locale.language
  36. Intl.locale.Locale
  37. Intl.locale.maximize
  38. Intl.locale.minimize
  39. Intl.locale.numberingSystem
  40. Intl.locale.numberingSystems
  41. Intl.locale.numeric
  42. Intl.locale.region
  43. Intl.locale.script
  44. Intl.locale.textInfo
  45. Intl.locale.timeZones
  46. Intl.locale.toString
  47. Intl.locale.weekInfo
  48. Intl.numberFormat
  49. Intl.numberFormat.format
  50. Intl.numberFormat.formatRange
  51. Intl.numberFormat.formatRangeToParts
  52. Intl.numberFormat.formatToParts
  53. Intl.numberFormat.NumberFormat
  54. Intl.numberFormat.resolvedOptions
  55. Intl.numberFormat.supportedLocalesOf
  56. Intl.pluralRules
  57. Intl.pluralRules.PluralRules
  58. Intl.pluralRules.resolvedOptions
  59. Intl.pluralRules.select
  60. Intl.pluralRules.selectRange
  61. Intl.pluralRules.supportedLocalesOf
  62. Intl.relativeTimeFormat
  63. Intl.relativeTimeFormat.format
  64. Intl.relativeTimeFormat.formatToParts
  65. Intl.relativeTimeFormat.RelativeTimeFormat
  66. Intl.relativeTimeFormat.resolvedOptions
  67. Intl.relativeTimeFormat.supportedLocalesOf
  68. Intl.segmenter
  69. Intl.segmenter.resolvedOptions
  70. Intl.segmenter.segment
  71. Intl.segmenter.Segmenter
  72. Intl.segmenter.supportedLocalesOf
  73. Intl.segments
  74. Intl.segments.@@iterator
  75. Intl.segments.containing
  76. Intl.supportedValuesOf

Map

  1. Map
  2. Map.@@iterator
  3. Map.@@species
  4. map.clear
  5. map.delete
  6. map.entries
  7. Map.forEach
  8. map.get
  9. map.has
  10. map.keys
  11. Map.map
  12. map.set
  13. map.size
  14. map.values

Math

  1. Math
  2. Math.abs
  3. Math.acos
  4. Math.acosh
  5. Math.asin
  6. Math.asinh
  7. Math.atan
  8. Math.atan2
  9. Math.atanh
  10. Math.cbrt
  11. Math.ceil
  12. Math.clz32
  13. Math.cos
  14. Math.cosh
  15. Math.E
  16. Math.exp
  17. Math.expm1
  18. Math.floor
  19. Math.fround
  20. Math.hypot
  21. Math.imul
  22. Math.LN10
  23. Math.LN2
  24. Math.log
  25. Math.log10
  26. Math.LOG10E
  27. Math.log1p
  28. Math.log2
  29. Math.LOG2E
  30. Math.max
  31. Math.min
  32. Math.PI
  33. Math.pow
  34. Math.random
  35. Math.round
  36. Math.sign
  37. Math.sin
  38. Math.sinh
  39. Math.sqrt
  40. Math.SQRT1_2
  41. Math.SQRT2
  42. Math.tan
  43. Math.tanh
  44. Math.trunc

Number

  1. Number
  2. Number.EPSILON
  3. Number.isFinite
  4. Number.isInteger
  5. Number.isNaN
  6. Number.isSafeInteger
  7. Number.MAX_SAFE_INTEGER
  8. Number.MAX_VALUE
  9. Number.MIN_SAFE_INTEGER
  10. Number.MIN_VALUE
  11. Number.NaN
  12. Number.NEGATIVE_INFINITY
  13. Number.number
  14. Number.parseFloat
  15. Number.parseInt
  16. Number.POSITIVE_INFINITY
  17. Number.toExponential
  18. Number.toFixed
  19. Number.toLocaleString
  20. Number.toPrecision
  21. Number.toString
  22. Number.valueOf

Object

  1. Object
  2. object.__defineGetter__
  3. object.__defineSetter__
  4. object.__lookupGetter__
  5. object.__lookupSetter__
  6. Object.assign
  7. object.constructor
  8. Object.create
  9. Object.defineProperties
  10. Object.defineProperty
  11. Object.entries
  12. Object.freeze
  13. Object.fromEntries
  14. Object.getOwnPropertyDescriptor
  15. Object.getOwnPropertyDescriptors
  16. Object.getOwnPropertyNames
  17. Object.getOwnPropertySymbols
  18. Object.getPrototypeOf
  19. Object.hasOwn
  20. Object.hasOwnProperty
  21. Object.is
  22. Object.isExtensible
  23. Object.isFrozen
  24. Object.isPrototypeOf
  25. Object.isSealed
  26. Object.keys
  27. Object.object
  28. Object.preventExtensions
  29. Object.propertyIsEnumerable
  30. Object.proto
  31. Object.seal
  32. Object.setPrototypeOf
  33. Object.toLocaleString
  34. Object.toString
  35. Object.valueOf
  36. Object.values

Promise

  1. Promise
  2. Promise.@@species
  3. Promise.all
  4. Promise.allSettled
  5. Promise.any
  6. promise.catch
  7. promise.finally
  8. Promise.promise
  9. Promise.race
  10. Promise.reject
  11. Promise.resolve
  12. promise.then

Proxy

  1. Proxy.proxy
  2. Proxy.proxy.apply
  3. Proxy.proxy.construct
  4. Proxy.proxy.defineProperty
  5. Proxy.proxy.deleteProperty
  6. Proxy.proxy.get
  7. Proxy.proxy.getOwnPropertyDescriptor
  8. Proxy.proxy.getPrototypeOf
  9. Proxy.proxy.has
  10. Proxy.proxy.isExtensible
  11. Proxy.proxy.ownKeys
  12. Proxy.proxy.preventExtensions
  13. Proxy.proxy.set
  14. Proxy.proxy.setPrototypeOf
  15. Proxy.revocable

Reflect

  1. Reflect
  2. Reflect.apply
  3. Reflect.comparing_Reflect_and_Object_methods
  4. Reflect.construct
  5. Reflect.defineProperty
  6. Reflect.deleteProperty
  7. Reflect.get
  8. Reflect.getOwnPropertyDescriptor
  9. Reflect.getPrototypeOf
  10. Reflect.has
  11. Reflect.isExtensible
  12. Reflect.ownKeys
  13. Reflect.preventExtensions
  14. Reflect.set
  15. Reflect.setPrototypeOf

RegExp

  1. RegExp
  2. RegExp.@@match
  3. RegExp.@@matchAll
  4. RegExp.@@replace
  5. RegExp.@@search
  6. RegExp.@@species
  7. RegExp.@@split
  8. regExp.compile
  9. regExp.dotAll
  10. regExp.exec
  11. regExp.flags
  12. regExp.global
  13. regExp.hasIndices
  14. RegExp.ignoreCase
  15. RegExp.lastIndex
  16. regExp.multiline
  17. RegExp.regExp
  18. regExp.source
  19. regExp.sticky
  20. regExp.test
  21. RegExp.toString
  22. regExp.unicode

Set

  1. Set
  2. Set.@@iterator
  3. Set.@@species
  4. set.add
  5. set.clear
  6. set.delete
  7. set.entries
  8. Set.forEach
  9. set.has
  10. set.keys
  11. Set.set
  12. set.size
  13. set.values

String

  1. String
  2. String.@@iterator
  3. string.anchor
  4. string.at
  5. string.big
  6. string.blink
  7. string.bold
  8. String.charAt
  9. String.charCodeAt
  10. String.codePointAt
  11. string.concat
  12. String.endsWith
  13. string.fixed
  14. string.fontcolor
  15. string.fontsize
  16. String.fromCharCode
  17. String.fromCodePoint
  18. string.includes
  19. String.indexOf
  20. string.italics
  21. String.lastIndexOf
  22. String.length
  23. string.link
  24. string.localeCompare
  25. string.match
  26. String.matchAll
  27. string.normalize
  28. String.padEnd
  29. String.padStart
  30. String.raw
  31. string.repeat
  32. string.replace
  33. String.replaceAll
  34. string.search
  35. string.slice
  36. string.small
  37. string.split
  38. String.startsWith
  39. string.strike
  40. String.string
  41. string.sub
  42. string.substr
  43. string.substring
  44. string.sup
  45. String.toLocaleLowerCase
  46. String.toLocaleUpperCase
  47. String.toLowerCase
  48. String.toString
  49. String.toUpperCase
  50. string.trim
  51. String.trimEnd
  52. String.trimStart
  53. String.valueOf

Symbol

  1. Symbol
  2. Symbol.@@toPrimitive
  3. Symbol.asyncIterator
  4. symbol.description
  5. Symbol.for
  6. Symbol.hasInstance
  7. Symbol.isConcatSpreadable
  8. Symbol.iterator
  9. Symbol.keyFor
  10. Symbol.match
  11. Symbol.matchAll
  12. Symbol.replace
  13. Symbol.search
  14. Symbol.species
  15. Symbol.split
  16. Symbol.symbol
  17. Symbol.toPrimitive
  18. Symbol.toString
  19. Symbol.toStringTag
  20. Symbol.unscopables
  21. Symbol.valueOf

TypedArray

  1. TypedArray
  2. TypedArray.@@iterator
  3. TypedArray.@@species
  4. typedArray.at
  5. typedArray.buffer
  6. TypedArray.byteLength
  7. TypedArray.byteOffset
  8. TypedArray.BYTES_PER_ELEMENT
  9. TypedArray.copyWithin
  10. typedArray.entries
  11. typedArray.every
  12. typedArray.fill
  13. typedArray.filter
  14. typedArray.find
  15. TypedArray.findIndex
  16. TypedArray.findLast
  17. TypedArray.findLastIndex
  18. TypedArray.forEach
  19. TypedArray.from
  20. typedArray.includes
  21. TypedArray.indexOf
  22. typedArray.join
  23. typedArray.keys
  24. TypedArray.lastIndexOf
  25. typedArray.length
  26. typedArray.map
  27. TypedArray.name
  28. TypedArray.of
  29. typedArray.reduce
  30. TypedArray.reduceRight
  31. typedArray.reverse
  32. typedArray.set
  33. typedArray.slice
  34. typedArray.some
  35. typedArray.sort
  36. typedArray.subarray
  37. TypedArray.toLocaleString
  38. TypedArray.toString
  39. typedArray.values

WeakMap

  1. WeakMap
  2. weakMap.delete
  3. weakMap.get
  4. weakMap.has
  5. weakMap.set
  6. WeakMap.weakMap

WebAssembly

  1. WebAssembly.compile
  2. WebAssembly.compileError
  3. WebAssembly.compileError.CompileError
  4. WebAssembly.compileStreaming
  5. WebAssembly.exception
  6. WebAssembly.exception.Exception
  7. WebAssembly.exception.getArg
  8. WebAssembly.exception.is
  9. WebAssembly.exception.stack
  10. WebAssembly.global.Global
  11. WebAssembly.instance
  12. WebAssembly.instance.exports
  13. WebAssembly.instance.Instance
  14. WebAssembly.instantiate
  15. WebAssembly.instantiateStreaming
  16. WebAssembly.linkError
  17. WebAssembly.linkError.LinkError
  18. WebAssembly.memory
  19. WebAssembly.memory.buffer
  20. WebAssembly.memory.grow
  21. WebAssembly.memory.Memory
  22. WebAssembly.module
  23. WebAssembly.module.customSections
  24. WebAssembly.module.exports
  25. WebAssembly.module.imports
  26. WebAssembly.module.Module
  27. WebAssembly.runtimeError
  28. WebAssembly.runtimeError.RuntimeError
  29. WebAssembly.table
  30. WebAssembly.table.get
  31. WebAssembly.table.grow
  32. WebAssembly.table.length
  33. WebAssembly.table.set
  34. WebAssembly.table.Table
  35. WebAssembly.tag
  36. WebAssembly.tag.Tag
  37. WebAssembly.tag.type
  38. WebAssembly.validate


Время на прочтение
11 мин

Количество просмотров 127K

Материал, перевод которого мы сегодня публикуем, посвящён основам JavaScript и предназначен для начинающих программистов. Его можно рассматривать и как небольшой справочник по базовым конструкциям JS. Здесь мы, в частности, поговорим о системе типов данных, о переменных, о массивах, о функциях, о прототипах объектов, и о некоторых других особенностях языка.

Примитивные типы данных

В JavaScript имеются следующие примитивные типы данных: number, boolean, string, undefined, null. Сразу нужно отметить, что, при работе с примитивными типами данных, например, со строковыми литералами, мы, даже не проводя явного преобразования, сможем обращаться к их методам и свойствам. Дело тут в том, что при попытке выполнения подобных операций литералы автоматически оснащаются соответствующей объектной обёрткой.

▍Числа

В JavaScript имеется лишь один тип чисел — это числа двойной точности с плавающей запятой. Это ведёт к тому, что результаты вычисления некоторых выражений арифметически неверны. Возможно, вы уже знаете, что в JS значение выражения 0.1 + 0.2 не равно 0.3. В то же время, при работе с целыми числами таких проблем не наблюдается, то есть, 1 + 2 === 3.

В JavaScript имеется объект Number, представляющий собой объектную обёртку для числовых значений. Объекты типа Number можно создавать либо используя команду вида var a = new Number(10), либо можно полагаться на автоматическое поведение системы, описанное выше. Это, в частности, позволяет вызывать методы, хранящиеся в Number.prototype в применении к числовым литералам:

(123).toString();  //"123"
(1.23).toFixed(1); //"1.2"

Существуют глобальные функции, предназначенные для преобразования значений других типов в числовой тип. Это — parseInt(), parseFloat() и конструкция Number(), которая в данном случае выступает в виде обычной функции, выполняющей преобразование типов:

parseInt("1")       //1
parseInt("text")    //NaN
parseFloat("1.234") //1.234
Number("1")         //1
Number("1.234")     //1.234

Если в ходе операции с числами получается нечто, не являющееся числом (в ходе неких вычислений, или при попытке преобразования чего-либо в число), JavaScript не выдаст ошибку, а представит результат подобной операции в виде значения NaN (Not-a-Number, не число). Для того, чтобы проверить, является ли некое значение NaN, можно воспользоваться функцией isNaN().

Арифметические операции JS работают вполне привычным образом, но надо обратить внимание на то, что оператор + может выполнять и сложение чисел, и конкатенацию строк.

1 + 1      //2
"1" + "1"  //"11"
1 + "1"    //"11"

▍Строки

Строки в JavaScript представляют собой последовательности символов Unicode. Строковые литералы создают, заключая текст, который нужно в них поместить, в двойные ("") или одинарные ('') кавычки. Как уже было сказано, при работе со строковыми литералами мы можем полагаться на соответствующую объектную обёртку, в прототипе которой имеется множество полезных методов, среди них — substring(), indexOf(), concat().

"text".substring(1,3) //ex
"text".indexOf('x')   //2
"text".concat(" end") //text end

Строки, как и другие примитивные значения, иммутабельны. Например, метод concat() не модифицирует существующую строку, а создаёт новую.

▍Логические значения

Логический тип данных в JS представлен двумя значениями — true и false. Язык может автоматически преобразовывать различные значения к логическому типу данных. Так, ложными, помимо логического значения false, являются значения null, undefined, '' (пустая строка), 0 и NaN. Всё остальное, включая любые объекты, представляет собой истинные значения. В ходе выполнения логических операций всё, что считается истинным, преобразуется к true, а всё, что считается ложным, преобразуется к false. Взгляните на следующий пример. В соответствии с вышеизложенными принципами пустая строка будет преобразована к false и в результате выполнения этого кода в консоль попадёт строка This is false.

let text = '';
if(text) {
  console.log("This is true");
} else {
  console.log("This is false");
}

Объекты

Объекты — это динамические структуры, состоящие из пар ключ-значение. Значения могут иметь примитивные типы данных, могут быть объектами или функциями.

Объекты проще всего создавать, используя синтаксис объектных литералов:

let obj = {
  message : "A message",
  doSomething : function() {}
}

Свойства объекта можно, в любое время, читать, добавлять, редактировать и удалять. Вот как это делается:

  • Чтение свойств: object.name, object[expression].
  • Запись данных в свойства (если свойство, к которому обращаются, не существует, добавляется новое свойство с указанным ключом): object.name = value, object[expression] = value.
  • Удаление свойств: delete object.name, delete object[expression].

Вот несколько примеров:

let obj = {}; // создание пустого объекта
obj.message = "A message"; // добавление нового свойства
obj.message = "A new message"; // редактирование свойства
delete object.message; // удаление свойства

Объекты в языке реализованы в виде хэш-таблиц. Простую хэш-таблицу можно создать, используя команду Object.create(null):

let french = Object.create(null);
french["yes"] = "oui";
french["no"]  = "non";
french["yes"];//"oui"

Если объект нужно сделать иммутабельным, можно воспользоваться командой Object.freeze().

Для перебора всех свойств объекта можно воспользоваться командой Object.keys():

function logProperty(name){
  console.log(name); //имя свойства
  console.log(obj[name]); // значение свойства
}
Object.keys(obj).forEach(logProperty);

▍Сравнение значений примитивных типов и объектов

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

Переменные

В JavaScript переменные можно объявлять, используя ключевые слова var, let и const.

При использовании ключевого слова var можно объявить переменную, и, если надо — инициализировать её неким значением. Если переменная не инициализирована, её значением является undefined. Переменные, объявленные с использованием ключевого слова var, имеют функциональную область видимости.

Ключевое слово let очень похоже на var, разница заключается в том, что переменные, объявленные с ключевым словом let, имеют блочную область видимости.

Блочную область видимости имеют и переменные объявленные с помощью ключевого слова const, которые, учитывая то, что значения подобных переменных нельзя изменять, правильнее будет называть «константами». Ключевое слово const, которое «замораживает» значение переменной, объявленной с его использованием, можно сравнить с методом Object.freeze(), «замораживающим» объекты.

Если переменная объявлена за пределами какой-либо функции, её область видимости является глобальной.

Массивы

Массивы в JavaScript реализованы с использованием объектов. Как результат, говоря о массивах, мы, фактически, обсуждаем объекты, похожие на массивы. Работать с элементами массива можно, используя их индексы. Числовые индексы преобразуются в строки и используются как имена для доступа к значениям элементов массивов. Например, конструкция вида arr[1] аналогична конструкции вида arr['1'], и та и другая дадут доступ к одному и тому же значению: arr[1] === arr['1']. В соответствии с вышесказанным, простой массив, объявленный командой let arr = ['A', 'B', 'C'], представляется в виде объекта примерно следующего вида:

{
  '0': 'A',
  '1': 'B',
  '2': 'C'
}

Удаление элементов массива с использованием команды delete оставляет в нём «дыры». Для того чтобы избежать этой проблемы, можно использовать команду splice(), но работает она медленно, так как, после удаления элемента, перемещает оставшиеся элементы массива, фактически, сдвигая их к началу массива, влево.

let arr = ['A', 'B', 'C'];
delete arr[1];
console.log(arr); // ['A', empty, 'C']
console.log(arr.length); // 3

Методы массивов позволяют легко реализовывать такие структуры данных, как стеки и очереди:

// стек
let stack = [];
stack.push(1);           // [1]
stack.push(2);           // [1, 2]
let last = stack.pop();  // [1]
console.log(last);       // 2
// очередь
let queue = [];
queue.push(1);           // [1]
queue.push(2);           // [1, 2]
let first = queue.shift();//[2]
console.log(first);      // 1

Функции

Функции в JavaScript являются объектами. Функции можно назначать переменным, хранить в объектах или массивах, передавать в виде аргументов другим функциям и возвращать из других функций.

Существует три способа объявления функций:

  • Классическое объявление функции (Function Declaration или Function Statement).
  • Использование функциональных выражений (Function Expression), которые ещё называют функциональными литералами (Function Literal).
  • Использование синтаксиса стрелочных функций (Arrow Function).

▍Классическое объявление функции

При таком подходе к объявлению функций действуют следующие правила:

  • Первым ключевым словом в строке объявления функции является function.
  • Функции необходимо назначить имя.
  • Функцию можно использовать в коде, находящимся до её объявления благодаря механизму подъёма объявления функции в верхнюю часть области видимости, в которой она объявлена.

Вот как выглядит классическое объявление функции:

function doSomething(){}

▍Функциональные выражения

При использовании функциональных выражений нужно учитывать следующее:

  • Ключевое слово function уже не является первым словом в строке объявления функции.
  • Наличие имени у функции необязательно. Возможно применение как анонимных, так и именованных функциональных выражений.
  • Команды вызова таких функций должны следовать за командами их объявления.
  • Такую функцию можно запустить сразу же после объявления, воспользовавшись синтаксисом IIFE (Immediately Invoked Function Expression — немедленно вызываемое функциональное выражение).

Функциональное выражение выглядит так:

let doSomething = function() {}

▍Стрелочные функции

Стрелочные функции, по сути, можно считать «синтаксическим сахаром» для создания анонимных функциональных выражений. Надо отметить, что у таких функций нет собственных сущностей this и arguments. Объявление стрелочной функции выглядит так:

let doSomething = () = > {};

▍Способы вызова функций

Функции можно вызывать различными способами.

Обычный вызов функции

doSomething(arguments)

Вызов функции в виде метода объекта

theObject.doSomething(arguments)
theObject["doSomething"](arguments)

Вызов функции в виде конструктора

new doSomething(arguments)

Вызов функции с использованием метода apply()

doSomething.apply(theObject, [arguments])
doSomething.call(theObject, arguments)

Вызов функции с использованием метода bind()

let doSomethingWithObject = doSomething.bind(theObject);
doSomethingWithObject();

Функции можно вызывать с большим или меньшим количеством аргументов, чем то количество параметров, которое было задано при их объявлении. В ходе работы функции «лишние» аргументы будут просто проигнорированы (хотя у функции будет доступ к ним), отсутствующие параметры получат значение undefined.

У функций есть два псевдо-параметра: this и arguments.

▍Ключевое слово this

Ключевое слово this представляет собой контекст функции. Значение, на которое оно указывает, зависит от того, как была вызвана функция. Вот какие значения принимает ключевое слово this в зависимости от способа вызова функции (они, с примерами кода, конструкции из которых используются здесь, описаны выше):

  • Обычный вызов функции — window/undefined.
  • Вызов функции в виде метода объекта — theObject.
  • Вызов функции в виде конструктора — новый объект.
  • Вызов функции с использованием метода apply()theObject.
  • Вызов функции с использованием метода bind()theObject.

▍Ключевое слово arguments

Ключевое слово arguments — это псевдопараметр, который даёт доступ ко всем аргументам, использованным при вызове функции. Он похож на массив, но массивом не является. В частности, у него нет методов массива.

function reduceToSum(total, value){
  return total + value;
}
  
function sum(){
  let args = Array.prototype.slice.call(arguments);
  return args.reduce(reduceToSum, 0);
}
sum(1,2,3);

Альтернативой ключевому слову arguments является новый синтаксис оставшихся параметров. В следующем примере args — это массив, содержащий всё, что передано функции при вызове.

function sum(...args){
  return args.reduce(reduceToSum, 0);
}

▍Оператор return

Функция, в которой отсутствует выражение return, возвратит undefined. Используя ключевое слово return, обращайте внимание на то, как работает механизм автоматической вставки точки с запятой. Например, следующая функция вернёт не пустой объект, а значение undefined:

function getObject(){ 
  return 
  {
  }
}
getObject()

Для того чтобы избежать подобной проблемы, открывающую фигурную скобку нужно расположить на той же строке, на которой находится оператор return:

function getObject(){ 
  return {
  }
}

Динамическая типизация

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

function log(value){
  console.log(value);
}
log(1);
log("text");
log({message : "text"});

Для выяснения типа данных, хранящихся в переменной, можно использовать оператор typeof():

let n = 1;
typeof(n);   //number
let s = "text";
typeof(s);   //string
let fn = function() {};
typeof(fn);  //function

Однопоточная модель выполнения

Среда выполнения JavaScript является однопоточной. Это, в частности, выражается в невозможности одновременного выполнения двух функций (если не учитывать возможности асинхронного выполнения кода, которые мы тут не затрагиваем). В среде выполнения имеется так называемая очередь событий (Event Queue), хранящая список заданий, которые нужно обработать. Как результат, для однопоточной схемы выполнения JS несвойственна проблема взаимных блокировок ресурсов, поэтому тут не нужен механизм блокировок. Однако, код, попадающий в очередь событий, должен выполняться быстро. Если перегрузить тяжёлой работой, в браузерном приложении, главный поток, страница приложения не будет реагировать на воздействия пользователя и браузер предложит закрыть эту страницу.

Обработка исключений

В JavaScript имеется механизм для обработки исключений. Работает он по вполне обычному для подобных механизмов принципу: код, который может вызвать ошибку, оформляют с использованием конструкции try/catch. Сам код находится в блоке try, ошибки обрабатываются в блоке catch.

Интересно отметить, что иногда JavaScript, при возникновении внештатных ситуаций, не выдаёт сообщений об ошибках. Это связано с тем фактом, что JS не выбрасывал ошибки до принятия стандарта ECMAScript 3.

Например, в следующем фрагменте кода попытка изменения «замороженного» объекта завершится неудачно, но исключение выдано не будет.

let obj = Object.freeze({});
obj.message = "text";

Некоторые из «молчаливых» ошибок JS проявляются в строгом режиме, включить его можно, воспользовавшись конструкцией "use strict";.

Система прототипов

В основе таких механизмов JS, как функции-конструкторы, команда Object.create(), ключевое слово class, лежит система прототипов.
Рассмотрим следующий пример:

let service = {
 doSomething : function() {}
}
let specializedService = Object.create(service);
console.log(specializedService.__proto__ === service); //true

Здесь, для создания объекта specializedService, прототипом которого нужно было сделать объект service, использована команда Object.create(). В результате оказывается, что метод doSomething() можно вызвать, обратившись к объекту specializedService. Кроме того, это означает, что свойство __proto__ объекта specializedService указывает на объект service.

Создадим теперь похожий объект с использованием ключевого слова class:

class Service {
 doSomething(){}
}
class SpecializedService extends Service {
}
let specializedService = new SpecializedService();
console.log(specializedService.__proto__ === SpecializedService.prototype);

Методы, объявленные в классе Service, будут добавлены в объект Service.prototype. Экземпляры класса Service будут иметь тот же прототип (Service.prototype). Все экземпляры будут делегировать вызовы методов к объекту Service.prototype. В результате оказывается, что методы объявляются лишь один раз, в Service.prototype, после чего «наследуются» всеми экземплярами класса.

▍Цепочка прототипов

Объекты могут быть «наследниками» других объектов. У каждого объекта есть прототип, методы которого ему доступны. Если попытаться обратиться к свойству, которого нет в самом объекте, JavaScript приступит к его поиску в цепочке прототипов. Этот процесс будет продолжаться до тех пор, пока свойство не будет найдено, или пока поиск не достигнет конца цепочки.

О функциональном программировании в JavaScript

В JavaScript функции являются объектами первого класса, язык поддерживает механизм замыканий. Это открывает путь к реализации методик функционального программирования в JS. В частности, речь идёт о возможности применения функций высшего порядка.

Замыкание — это внутренняя функция, у которой есть доступ к переменным, объявленным внутри родительской функции, даже после выполнения родительской функции.

Функция высшего порядка — это функция, которая способна принимать другие функции в качестве аргументов, возвращать функции, или делать и то и другое.

Функциональное программирование в JS освещается во множестве публикаций. Если вам это интересно — вот несколько материалов на данную тему, посвящённых функциям первого класса, композиции, декораторам, замыканиям и удобочитаемости кода, написанного в функциональном стиле.

Итоги

Мощь JavaScript кроется в его простоте. Понимание базовых механизмов языка позволяет программисту, использующему JS, эффективнее применять эти механизмы и закладывает фундамент для его профессионального роста.

Уважаемые читатели! Как вы думаете, какие особенности JavaScript вызывают больше всего проблем у новичков?

Популярное

1. Bootstrap 3 — Navbar (горизонтальное меню) 366K

2. Модальное окно Bootstrap для сайта 364K

3. Маска ввода для HTML элемента input 348K

4. Слайдер для сайта на чистом CSS и JavaScript 343K

5. Форма обратной связи для сайта с отправкой на почту 314K

6. CSS медиа-запросы (media queries) 308K

7. Bootstrap — Carousel (карусель) 293K

Последние комментарии

amriddin

amriddin

23.04.2023, 11:25

Добрый день. Как выключить слайдер с помщью js?

Слайдер для сайта на чистом CSS и JavaScript

515

Александр Мальцев

Александр Мальцев

22.04.2023, 15:45

Так вам после разархивирования архива в проект нужно установить зависимости. Для этого нужно перейти в папку, где расположен composer.json и в термина…

Пример использования Google Indexing API на PHP

12

Александр Мальцев

Александр Мальцев

21.04.2023, 07:58

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

Модальное окно для сайта на чистом CSS и JavaScript

10

Александр Мальцев

Александр Мальцев

19.04.2023, 11:55

Привет! Поправил ошибки в JavaScript-коде:
let tablinks = document.getElementsByClassName(‘tab_links’);
let tabcontents = d…

Табы (вкладки) для сайта на CSS и JavaScript – 3 способа

67

Александр Мальцев

Александр Мальцев

19.04.2023, 11:34

Добрый день! Что-то конкретно сложно подсказать, тут нужно смотреть, какая-та путаница с путями.

Форма обратной связи для сайта с отправкой на почту

845

Сергей Fortoo

Сергей Fortoo

04.04.2023, 23:37

Подумал, зачем ловить клик по ссылке, а почему-бы не ловить событие перезагрузки страницы?
вместо клика по ссылке
$(document).on(‘…

Как сделать прелоадер для сайта и спиннер для кнопки?

59

Александр Мальцев

Александр Мальцев

04.04.2023, 04:00

Добрый день! Если правильно понял задание, то так: https://codepen.io/itchief/pen/abaeXRq

Добавление и удаление DOM-свойств на jQuery

15

Александр Мальцев

Александр Мальцев

03.04.2023, 08:49

Посмотрите что сервер отдаёт. А также какие ошибки имеются в консоли браузера.

Всплывающая форма обратной связи

288

Александр Мальцев

Александр Мальцев

03.04.2023, 02:00

Добрый день! После скрытия элемента он удаляется из HTML для этого в коде используется метод remove().

Всплывающие сообщения для сайта на чистом JavaScript

26

Александр Мальцев

Александр Мальцев

28.03.2023, 15:03

На сколько понимаю, вы разрабатываете сайт без использования сервера. В этом случае нужно указывать относительные пути к файлам (для страниц не забыва…

Как создать горизонтальное меню с прокруткой для сайта?

23

Опрос

Используете ли Вы при написании фронтенд части сайта или веб-приложения JavaScript фреймворки или библиотеки? Если да, то что именно?

Да, в основном React

Да, в большей степени Vue.js

Да, главным образом jQuery

Да, другой

Пишу код без использования библиотек

История просмотров

Email-рассылка

Не пропустите свежие статьи и уроки, подпишитесь на информационную
рассылку «itchief.ru». Отправка писем на почту раз в неделю!

Подписаться

Конструкции и команды

условие

альтернатива условию

альтернатива условию

множественный выбор

цикл

цикл

цикл для массивов

цикл для объектов

остановка цикла

переход на следующую итерацию

создание функции

удаление свойства объекта

проверка наличия свойства

выполнение строки кода

Типизация

преобразование к числу

строка в число

строка в дробь

преобразование к строке

преобразование к boolean

тип переменной

проверка на конечное число

проверка на NaN

Специальные значения

истина
почти ничего не написано

ложь
почти ничего не написано

не число
примеры, свойства

ничего
почти ничего не написано

неопределенность
почти ничего не написано

бесконечность
примеры, свойства

Математические методы

случайное число

округление числа

округление в большую сторону

округление в меньшую сторону

округление числа
поработать еще

округление числа
поработать еще

квадратный корень числа

степень числа

максимальное число

минимальное число

модуль числа

Редкие методы

синус числа

косинус числа

тангенс угла

арксинус числа

арккосинус числа

арктангенс числа

экспонента

натуральный логарифм

экспоненциальная нотация
поработать еще

Константы

число Пи

значение экспоненты

натуральный логарифм [n]2[/n]-х

натуральный логарифм [n]10[/n]-ти

логарифм от e по основанию [n]2[/n]

логарифм от e по основанию [n]10[/n]

квадратный корень из 1/2

квадратный корень из [n]2[/n]

Строки

длина строки

нижний регистр

верхний регистр

разбиение строки на массив

вырезание подстроки

вырезание подстроки

вырезание подстроки
поработать еще

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

поиск совпадений с начала
примеры получше, пример на поиск всех совпадений

поиск совпадений с конца
примеры получше

проверка начала
todo

проверка конца
todo

удаление пробелов по краям

символ строки

символ по его коду

код символа
подробнее

Массивы

длина массива

слияние массивов вместе
пример на …

слияние массива в строку

переворот массива

поиск по массиву
ссылка на мозиллу

отрезание части массива

отрезание части массива

удаление первого элемента

удаление последнего элемента

добавление элементов в начало

добавление элементов в конец

перебор массива
ссылку на учебник

перебор массива
ссылку на учебник

фильтрация массива
ссылку на учебник

все в массиве
ссылку на учебник

хотя бы один в массиве
ссылку на учебник

свертка к значению
ссылку на учебник

свертка к значению
ссылку на учебник, примеры

Время

объект для работы даты
поработать еще

год (4 цифры)

месяц

день месяца

часы

минуты

секунды

миллисекунды

день недели

дата в миллисекундах

дата из строки

Таймеры

таймер выполнения кода

пауза при выполнении кода

сброс таймера

сброс паузы

Получение элементов

элемент по селектору

элемент по id

элементы по селектору

элементы по тегу

элементы по классу

родитель по селектору

соответствие селектору

проверка на вложенность

Получение родственников

все потомки элемента

дочерние узлы

первый потомок

первый потомок узел

последний потомок

последний потомок узел

следующий элемент

предыдущий элемент

родительский элемент

родительский узел

Части таблиц

массив строк таблицы

массив ячеек таблицы

thead таблицы

tfoot таблицы

tbody таблицы

Создание элементов

создание элемента

клонирование узла

Вставка элементов

вставка в начало

вставка в конец

вставка в конец

вставка перед

вставка элементов

вставка HTML кода

вставка текста

Удаление

удаление узлов

удаление

Текст и тег

текст элемента

текст элемента с тегом

название тега

Атрибуты

получение атрибутов элемента

изменение атрибутов элемента

удаление атрибутов элемента

проверка наличия атрибута

атрибуты data-
улучшить

CSS классы

Объект с классами

Добавление классов

Удаление классов

Чередование классов

Проверка классов

Работа с CSS

стиль одной строкой

стиль из CSS
попробовать улучшить

Размеры

полная ширина

полная высота

левая граница

верхняя граница

ширина содержимого

высота содержимого

Смещения

родитель с позиционированием

смещение сверху

смещение слева

координаты элемента

элемент на координатах

События

привязка событий
ссылку на список событий

удаление событий

список типов событий
переделать

Объект Event

отмена действия по умолчанию
отправку формы

тип события
примеры, примеры применения

элемент, на котором событие сработало

элемент, на который назначили событие

настоящее ли событие

нажат ли Ctrl

нажат ли Alt

нажат ли Shift

координаты мыши
поработать

координаты мыши
поработать

координаты мыши
поработать

координаты мыши
поработать

Продвинутое

конструктор событий

имитация события

установить фокус

снять фокус

Контекст

вызов функции с контекстом

вызов функции с контекстом

привязка контекста

Диалоговые окошки

окно для сообщения

окно для подтверждения

окно для ввода данных

Основное

перемещение пера

рисование линии

прямоугольник контур

прямоугольник фигура

прямоугольник

окружность, дуга

стерка прямоугольник

Общее

начало линии

завершение фигуры

обводка контуром

заливка фигуры

Настройки

толщина контура

цвет контура

цвет заливки

стиль конца линии
пример переделать

стиль излома линии

острота излома линии

Работа с текстом

текст

контур текста

шрифт текста

выравнивание горизонталь
примеры

выравнивание вертикаль
примеры

направление текста

Служебное

начало работы
мало написано

Последнее обновление: 20.11.2022

  1. Глава 1. Введение в JavaScript

    1. Что такое JavaScript

    2. Первая программа на JavaScript

    3. Выполнение кода javascript

    4. Подключение внешнего файла JavaScript

    5. Консоль браузера и console.log

  2. Глава 2. Основы javascript

    1. Переменные и константы

    2. Типы данных

    3. Операции

    4. Условные операторы ?: и ??

    5. Преобразование данных

    6. Введение в массивы

    7. Условные конструкции

    8. Циклы

  3. Глава 3. Функциональное программирование

    1. Функции

    2. Параметры функции

    3. Результат функции

    4. Область видимости переменных

    5. Замыкания и функции IIFE

    6. Паттерн Модуль

    7. Рекурсивные функции

    8. Переопределение функций

    9. Hoisting

    10. Передача параметров по значению и по ссылке

    11. Стрелочные функции

  4. Глава 4. Объектно-ориентированное программирование

    1. Объекты

    2. Вложенные объекты и массивы в объектах

    3. Копирование и сравнение объектов

    4. Проверка наличия и перебор методов и свойств

    5. Объекты в функциях

    6. Конструкторы объектов

    7. Расширение объектов. Prototype

    8. Инкапсуляция

    9. Функция как объект. Методы call и apply

    10. Наследование

    11. Ключевое слово this

    12. Деструктуризация

    13. Оператор ?.

  5. Глава 5. ООП. Классы

    1. Классы

    2. Приватные поля и методы

    3. Статические поля и методы

    4. Свойства и методы доступа

    5. Наследование

  6. Глава 6. Массивы

    1. Создание массива и объект Array

    2. Массивы и spread-оператор

    3. Операции с массивами

    4. Наследование массивов

  7. Глава 7. Строки

    1. Строки и объект String

    2. Шаблоны строк

    3. Объект RegExp. Регулярные выражения

    4. Регулярные выражения в методах String

    5. Синтаксис регулярных выражений

    6. Группы в регулярных выражениях

  8. Глава 8. Встроенные объекты

    1. Объект Date. Работа с датами

    2. Объект Math. Математические операции

    3. Объект Number

    4. Символы

    5. Proxy

  9. Глава 9. Обработка ошибок

    1. Конструкция try..catch..finally

    2. Генерация ошибок и оператор throw

    3. Типы ошибок

  10. Глава 10. Работа с браузером и BOM

    1. Browser Object Model и объект window

    2. Управление окнами

    3. История браузера. Объект history

    4. Объект location

    5. Объект navigator

    6. Таймеры

  11. Глава 11. Работа с DOM

    1. Введение в DOM

    2. Объект document. Поиск элементов

    3. Свойства объекта document

    4. Объект Node. Навигация по DOM

    5. Создание, добавление и удаление элементов веб-станицы

    6. Объект Element. Управление элементами

    7. Изменение стиля элементов

    8. Создание своего элемента HTML

  12. Глава 12. События

    1. Введение в обработку событий

    2. Обработчики событий

    3. Объект Event

    4. Распространение событий

    5. События мыши

    6. События клавиатуры

  13. Глава 13. Работа с формами

    1. Формы и их элементы

    2. Кнопки

    3. Текстовые поля

    4. Флажки и переключатели

    5. Список select

  14. Глава 14. JSON

    1. Введение в JSON

  15. Глава 15. Хранение данных

    1. Куки

    2. Web Storage

  16. Глава 16. Коллекции и итераторы

    1. Итераторы

    2. Генераторы

    3. Множества Set

    4. Map

    5. WeakSet

    6. WeakMap

  17. Глава 17. Promise, async и await

    1. Введение в промисы

    2. Получение результата операции в Promise

    3. Обработка ошибок в Promise

    4. Создание цепочек промисовх

    5. Функции Promise.all, Promise.allSettled, Promise.any и Promise.race

    6. Async и await

    7. Асинхронные итераторы

    8. Асинхронные генераторы

  18. Глава 18. Ajax

    1. Объект XMLHttpRequest

    2. Отправка данных

    3. Promise в Ajax-запросах

  19. Глава 19. Локализация

    1. Локализация списков и Intl.ListFormat

    2. Локализация дат и времени

    3. Локализация названий и Intl.DisplayNames

    4. Форматирование чисел и Intl.NumberFormat

  20. Глава 20. Модули

    1. Введение в модули

    2. Импорт модуля

    3. Экспорт и импорт компонентов модулей

    4. Экспорт и импорт по умолчанию

    5. Использование псевдонимов при экспорте и импорте

    6. Динамическая загрузка модулей

  21. Глава 21. Fetch API

    1. Функция fetch

    2. Объект Response и его свойства

    3. Получение данных из ответа

    4. Настройка параметров запроса. Отправка данных

    5. Создание клиента для REST API

  22. Глава 22. Остальные статьи

    1. JavaScript в CSS

  • Глава 1. Введение в JavaScript
    • Что такое JavaScript
    • Первая программа на JavaScript
    • Выполнение кода javascript
    • Подключение внешнего файла JavaScript
    • Консоль браузера и console.log
  • Глава 2. Основы javascript
    • Переменные и константы
    • Типы данных
    • Операции
    • Условные операторы ?: и ??
    • Преобразование данных
    • Введение в массивы
    • Условные конструкции
    • Циклы
  • Глава 3. Функциональное программирование
    • Функции
    • Параметры функции
    • Результат функции
    • Область видимости переменных
    • Замыкания и функции IIFE
    • Паттерн Модуль
    • Рекурсивные функции
    • Переопределение функций
    • Hoisting
    • Передача параметров по значению и по ссылке
    • Стрелочные функции
  • Глава 4. Объектно-ориентированное программирование
    • Объекты
    • Вложенные объекты и массивы в объектах
    • Копирование и сравнение объектов
    • Проверка наличия и перебор методов и свойств
    • Объекты в функциях
    • Конструкторы объектов
    • Расширение объектов. Prototype
    • Инкапсуляция
    • Функция как объект. Методы call и apply
    • Наследование
    • Ключевое слово this
    • Деструктуризация
    • Оператор ?.
  • Глава 5. ООП. Классы.
    • Классы
    • Приватные поля и методы
    • Статические поля и методы
    • Свойства и методы доступа
    • Наследование
  • Глава 6. Массивы
    • Создание массива и объект Array
    • Массивы и spread-оператор
    • Операции с массивами
    • Наследование массивов
  • Глава 7. Строки
    • Строки и объект String
    • Шаблоны строк
    • Объект RegExp. Регулярные выражения
    • Регулярные выражения в методах String
    • Синтаксис регулярных выражений
    • Группы в регулярных выражениях
  • Глава 8. Встроенные объекты
    • Объект Date. Работа с датами
    • Объект Math. Математические операции
    • Объект Number
    • Символы
    • Proxy
  • Глава 9. Обработка ошибок
    • Конструкция try..catch..finally
    • Генерация ошибок и оператор throw
    • Типы ошибок
  • Глава 10. Работа с браузером и BOM
    • Browser Object Model и объект window
    • Управление окнами
    • История браузера. Объект history
    • Объект location
    • Объект navigator
    • Таймеры
  • Глава 11. Работа с DOM
    • Введение в DOM
    • Объект document. Поиск элементов
    • Свойства объекта document
    • Объект Node. Навигация по DOM
    • Создание, добавление и удаление элементов веб-станицы
    • Объект Element. Управление элементами
    • Изменение стиля элементов
    • Создание своего элемента HTML
  • Глава 12. События
    • Введение в обработку событий
    • Обработчики событий
    • Объект Event
    • Распространение событий
    • События мыши
    • События клавиатуры
  • Глава 13. Работа с формами
    • Формы и их элементы
    • Кнопки
    • Текстовые поля
    • Флажки и переключатели
    • Список select
  • Глава 14. JSON
    • Введение в JSON
  • Глава 15. Хранение данных
    • Куки
    • Web Storage
  • Глава 16. Коллекции и итераторы
    • Итераторы
    • Генераторы
    • Множества Set
    • Map
    • WeakSet
    • WeakMap
  • Глава 17. Promise, async и await
    • Введение в промисы
    • Получение результата операции в Promise
    • Обработка ошибок в Promise
    • Создание цепочек промисов
    • Функции Promise.all, Promise.allSettled, Promise.any и Promise.race
    • Async и await
    • Асинхронные итераторы
    • Асинхронные генераторы
  • Глава 18. Ajax
    • Объект XMLHttpRequest
    • Отправка данных
    • Promise в Ajax-запросах
  • Глава 19. Локализация
    • Локализация списков и Intl.ListFormat
    • Локализация дат и времени
    • Локализация названий и Intl.DisplayNames
    • Форматирование чисел и Intl.NumberFormat
  • Глава 20. Модули
    • Введение в модули
    • Импорт модуля
    • Экспорт и импорт компонентов модулей
    • Экспорт и импорт по умолчанию
    • Использование псевдонимов при экспорте и импорте
    • Динамическая загрузка модулей
  • Глава 21. Fetch API
    • Функция fetch
    • Объект Response и его свойства
    • Получение данных из ответа
    • Настройка параметров запроса. Отправка данных
    • Создание клиента для REST API
  • Глава 22. Прочие статьи
    • JavaScript в CSS

Понравилась статья? Поделить с друзьями:
  • Гондурас турция таблетки инструкция по применению
  • Стиральная машина beko wrs 5512 bww инструкция
  • Ревмоксикам таблетки инструкция по применению цена в украине
  • Платифиллин инструкция по применению цена в ампулах внутримышечно взрослым
  • Инструкция по применению дезинфицирующего средства инструдез