Шпаргалка javascript: Шпаргалка по современному JavaScript
Шпаргалка по JS-методам для работы с DOM / Хабр
Основные источники
Введение
JavaScript
предоставляет множество методов для работы с Document Object Model
или сокращенно DOM
(объектной моделью документа): одни из них являются более полезными, чем другие; одни используются часто, другие почти никогда; одни являются относительно новыми, другие признаны устаревшими.
Я постараюсь дать вам исчерпывающее представление об этих методах, а также покажу парочку полезных приемов, которые сделают вашу жизнь веб-разработчика немного легче.
Размышляя над подачей материала, я пришел к выводу, что оптимальным будет следование спецификациям с промежуточными и заключительными выводами, сопряженными с небольшими лирическими отступлениями.
Сильно погружаться в теорию мы не будем. Вместо этого, мы сосредоточимся на практической составляющей.
Для того, чтобы получить максимальную пользу от данной шпаргалки, пишите код вместе со мной и внимательно следите за тем, что происходит в консоли инструментов разработчика и на странице.
Вот как будет выглядеть наша начальная разметка:
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
У нас есть список (ul
) с тремя элементами (li
). Список и каждый элемент имеют идентификатор (id
) и CSS-класс (class
). id
и class
— это атрибуты элемента. Существует множество других атрибутов: одни из них являются глобальными, т.е. могут добавляться к любому элементу, другие — локальными, т.е. могут добавляться только к определенным элементам.
Мы часто будем выводить данные в консоль, поэтому создадим такую «утилиту»:
const log = console.log
Миксин
NonElementParentNode
Данный миксин предназначен для обработки (браузером) родительских узлов, которые не являются элементами.
В чем разница между узлами (nodes) и элементами (elements)? Если кратко, то «узлы» — это более общее понятие, чем «элементы». Узел может быть представлен элементом, текстом, комментарием и т.д. Элемент — это узел, представленный разметкой (HTML-тегами (открывающим и закрывающим) или, соответственно, одним тегом).
У рассматриваемого миксина есть метод, наследуемый от объекта Document
Небольшая оговорка: разумеется, мы могли бы создать список и элементы программным способом.
Для создания элементов используется метод createElement(tag)
объекта Document
:
const listEl = document.createElement('ul')
Такой способ создания элементов называется императивным. Он является не очень удобным и слишком многословным: создаем родительский элемент, добавляет к нему атрибуты по одному, внедряем его в DOM
, создаем первый дочерний элемент и т.д. Следует отметить, что существует и другой, более изысканный способ создания элементов — шаблонные или строковые литералы (template literals), но о них мы поговорим позже.
Одним из основных способов получения элемента (точнее, ссылки на элемент) является метод getElementById(id)
объекта Document
:
// получаем ссылку на наш список
const listEl = document.getElementById('list')
log(listEl)
// ul#list.list - такая запись означает "элемент `ul` с `id === list`" и таким же `class`
Почему идентификаторы должны быть уникальными в пределах приложения (страницы)? Потому что элемент с id
становится значением одноименного свойства глобального объекта window
:
log(listEl === window.list) // true
Как мы знаем, при обращении к свойствам и методам window
, слово window
можно опускать, например, вместо window.localStorage
можно писать просто localStorage
. Следовательно, для доступа к элементу с id
достаточно обратиться к соответствующему свойству window
:
log(list) // ul#list. list
Обратите внимание, что это не работает в React
и других фреймворках, абстрагирующих работу с DOM
, например, с помощью Virtual DOM
. Более того, там иногда невозможно обратиться к нативным свойствам и методам
без window
.
Миксин
ParentNode
Данный миксин предназначен для обработки родительских элементов (предков), т.е. элементов, содержащих одного и более потомка (дочерних элементов).
children
— потомки элемента
const { children } = list // list.children
log(children)
/*
HTMLCollection(3)
0: li#item1.item
1: li#item2.item
2: li#item3.item
length: 3
*/
Такая структура называется коллекцией HTML и представляет собой массивоподобный объект (псевдомассив). Существует еще одна похожая структура — список узлов (NodeList
).
Массивоподобные объекты имеют свойство length
с количеством потомков, метод
(NodeList
), позволяющий перебирать узлы (делать по ним итерацию). Такие объекты позволяют получать элементы по индексу, по названию (HTMLCollection
) и т.д. Однако, у них отсутствуют методы настоящих массивов, такие как map()
, filter()
, reduce()
и др., что делает работу с ними не очень удобной. Поэтому массивоподобные объекты рекомендуется преобразовывать в массивы с помощью метода Array.from()
или spread-оператора:
const children = Array.from(list.children) // или const children = [...list.children] log(children) // [li#item1.item, li#item2.item, li#item3.item] - обычный массив
firstElementChild
— первый потомок — элементlastElementChild
— последний потомок — элемент
log(list.firstElementChild) // li#item1.item
log(list.lastElementChild) // li#item2.item
Для дальнейших манипуляций нам потребуется периодически создавать новые элементы, поэтому создадим еще одну утилиту:
const createEl = (id, text, tag = 'li', _class = 'item') => { const el = document. createElement(tag) el.id = id el.className = _class el.textContent = text return el }
Наша утилита принимает 4 аргумента: идентификатор, текст, название тега и CSS-класс. 2 аргумента (тег и класс) имеют значения по умолчанию. Функция возвращает готовый к работе элемент. Впоследствии, мы реализуем более универсальный вариант данной утилиты.
prepend(newNode)
— добавляет элемент в начало спискаappend(newNode)
— добавляет элемент в конец списка
// создаем новый элемент const newItem = createEl('item0', 0) // и добавляем его в начало списка list.prepend(newItem) // создаем еще один элемент const newItem2 = createEl('item4', 4) // и добавляем его в конец списка list.append(newItem2) log(children) /* HTMLCollection(5) 0: li#item0.item 1: li#item1.item 2: li#item2.item 3: li#item3.item 4: li#item4.item */
Одной из интересных особенностей HTMLCollection
является то, что она является «живой», т. е. элементы, возвращаемые по ссылке, и их количество обновляются автоматически. Однако, эту особенность нельзя использовать, например, для автоматического добавления обработчиков событий.
replaceChildren(nodes)
— заменяет потомков новыми элементами
const newItems = [newItem, newItem2] // заменяем потомков новыми элементами list.replaceChildren(...newItems) // list.replaceChildren(newItem, newItem2) log(children) // 2
Наиболее универсальными способами получения ссылок на элементы являются методы querySelector(selector)
и querySelectorAll(selector)
. Причем, в отличие от getElementById()
, они могут вызываться на любом родительском элементе, а не только на document
. В качестве аргумента названным методам передается любой валидный CSS-селектор (id
, class
, tag
и т.д.):
// получаем элемент `li` с `id === item0`
const itemWithId0 = list. querySelector('#item0')
log(itemWithId0) // li#item0.item
// получаем все элементы `li` с `class === item`
const allItems = list.querySelectorAll('.item')
log(allItems) // массивоподобный объект
/*
NodeList(2)
0: li#item0.item
1: li#item4.item
length: 2
*/
Создадим универсальную утилиту для получения элементов:
const getEl = (selector, parent = document, single = true) => single ? parent.querySelector(selector) : [...parent.querySelectorAll(selector)]
Наша утилита принимает 3 аргумента: CSS-селектор, родительский элемент и индикатор количества элементов (один или все). 2 аргумента (предок и индикатор) имеют значения по умолчанию. Функция возвращает либо один, либо все элементы (в виде обычного массива), совпадающие с селектором, в зависимости от значения индикатора:
const itemWithId0 = getEl('#item0', list)
log(itemWithId0) // li#item0.item
const allItems = getEl('.item', list, false)
log(allItems) // [li#item0.item, li#item4. item]
Миксин
NonDocumentTypeChildNode
Данный миксин предназначен для обработки дочерних узлов, которые не являются документом, т.е. всех узлов, кроме document
.
previousElementSibling
— предыдущий элементnextElementSibling
— следующий элемент
log(itemWithId0.previousElementSibling) // null
log(itemWithId0.nextElementSibling) // #item4
Миксин
ChildNode
Данный миксин предназначен для обработки дочерних элементов, т.е. элементов, являющихся потомками других элементов.
before(newNode)
— вставляет новый элемент перед текущимafter(newNode)
— вставляет новый элемент после текущего
// получаем `li` с `id === item4`
const itemWithId4 = getEl('#item4', list)
// создаем новый элемент
const newItem3 = createEl('item3', 3)
// и вставляем его перед `itemWithId4`
itemWithId4. before(newItem3)
// создаем еще один элемент
const newItem4 = createEl('item2', 2)
// и вставляем его после `itemWithId0`
itemWithId0.after(newItem4)
replaceWith(newNode)
— заменяет текущий элемент новым
// создаем новый элемент
const newItem5 = createEl('item1', 1)
// и заменяем им `itemWithId0`
itemWithId0.replaceWith(newItem5)
remove()
— удаляет текущий элемент
itemWithId4.remove()
Интерфейс
Node
Данный интерфейс предназначен для обработки узлов.
nodeType
— тип узла
log(list.nodeType) // 1
// другие варианты
/*
1 -> ELEMENT_NODE (элемент)
3 -> TEXT_NODE (текст)
8 -> COMMENT_NODE (комментарий)
9 -> DOCUMENT_NODE (document)
10 -> DOCUMENT_TYPE_NODE (doctype)
11 -> DOCUMENT_FRAGMENT_NODE (фрагмент) и т.д.
*/
nodeName
— название узла
log(list. nodeName) // UL
// другие варианты
/*
- квалифицированное название HTML-элемента прописными (заглавными) буквами
- квалифицированное название атрибута
- #text
- #comment
- #document
- название doctype
- #document-fragment
*/
baseURI
— основной путь
log(list.baseURI) // .../dom/index.html
parentNode
— родительский узелparentElement
— родительский элемент
const itemWithId1 = getEl('#item1', list)
log(itemWithId1.parentNode) // #list
log(itemWithId1.parentElement) // #list
hasChildNodes()
— возвращаетtrue
, если элемент имеет хотя бы одного потомкаchildNodes
— дочерние узлы
log(list.hasChildNodes()) // true
log(list.childNodes)
/*
NodeList(3)
0: li#item1.item
1: li#item2.item
2: li#item3.item
*/
firstChild
— первый потомок — узелlastChild
— последний потомок — узел
log(list. firstChild) // #item1
log(list.lastChild) // #item3
nextSibling
— следующий узелpreviousSibling
— предыдущий узел
log(itemWithId1.nextSibling) // #item2
log(itemWithId1.previousSibling) // null
textContent
— геттер/сеттер для извлечения/записи текста
// получаем текст
log(itemWithId1.textContent) // 1
// меняем текст
itemWithId1.textContent = 'item1'
log(itemWithId1.textContent) // item1
// получаем текстовое содержимое всех потомков
log(list.textContent) // item123
Для извлечения/записи текста существует еще один (устаревший) геттер/сеттер — innerText
.
cloneNode(deep)
— копирует узел. Принимает логическое значение, определяющее характер копирования: поверхностное — копируется только сам узел, глубокое — копируется сам узел и все его потомки
// создаем новый список посредством копирования существующего
const newList = list. cloneNode(false)
// удаляем у него `id` во избежание коллизий
newList.removeAttribute('id')
// меняем его текстовое содержимое
newList.textContent = 'new list'
// и вставляем его после существующего списка
list.after(newList)
// создаем еще один список
const newList2 = newList.cloneNode(true)
newList.after(newList2)
isEqualNode(node)
— сравнивает узлыisSameNode(node)
— определяет идентичность узлов
log(newList.isEqualNode(newList2)) // true
log(newList.isSameNode(newList2)) // false
contains(node)
— возвращаетtrue
, если элемент содержит указанный узел
log(list.contains(itemWithId1)) // true
insertBefore(newNode, existingNode)
— добавляет новый узел (newNode
) перед существующим (existingNode
)
// создаем новый элемент
const itemWithIdA = createEl('#item_a', 'a')
// и вставляем его перед `itemWithId1`
list. insertBefore(itemWithIdA, itemWithId1)
appendChild(node)
— добавляет узел в конец списка
// создаем новый элемент
const itemWithIdC = createEl('#item_c', 'c')
// и добавляем его в конец списка
list.appendChild(itemWithIdC)
replaceChild(newNode, existingNode)
— заменяет существующий узел (existingNode
) новым (newNode
):
// создаем новый элемент
const itemWithIdB = createEl('item_b', 'b')
// и заменяем им `itemWithId1`
list.replaceChild(itemWithIdB, itemWithId1)
removeChild(node)
— удаляет указанный дочерний узел
// получаем `li` с `id === item2`
const itemWithId2 = getEl('#item2', list)
// и удаляем его
list.removeChild(itemWithId2)
Интерфейс
Document
Данный интерфейс предназначен для обработки объекта Document
.
URL
иdocumentURI
— адрес документа
log(document.
createDocumentFragment()
— возвращает фрагмент документа:
// создаем фрагмент
const fragment = document.createDocumentFragment()
// создаем новый элемент
const itemWithIdD = createEl('item_d', 'd')
// добавляем элемент во фрагмент
fragment.append(itemWithIdD)
// добавляем фрагмент в список
list.append(fragment)
Фрагменты позволяют избежать создания лишних элементов. Они часто используются при работе с разметкой, скрытой от пользователя с помощью тега template
(метод cloneNode()
возвращает DocumentFragment
).
createTextNode(data)
— создает текстcreateComment(data)
— создает комментарийimportNode(existingNode, deep)
— создает новый узел на основе существующего
// создаем новый список на основе существующего
const newList3 = document. importNode(list, true)
// вставляем его перед существующим списком
list.before(newList3)
// и удаляем во избежание коллизий
newList3.remove()
createAttribute(attr)
— создает указанный атрибут
Интерфейсы
NodeIterator
и TreeWalker
Интерфейсы NodeIterator
и TreeWalker
предназначены для обхода (traverse) деревьев узлов. Я не сталкивался с примерами их практического использования, поэтому ограничусь парочкой примеров:
// createNodeIterator(root, referenceNode, pointerBeforeReferenceNode, whatToShow, filter)
const iterator = document.createNodeIterator(list)
log(iterator)
log(iterator.nextNode()) // #list
log(iterator.nextNode()) // #item_a
log(iterator.previousNode()) // #item_a
log(iterator.previousNode()) // #list
log(iterator.previousNode()) // null
// createTreeWalker(root, whatToShow, filter)
// применяем фильтры - https://dom.spec.whatwg.org/#interface-nodefilter
const walker = document. createTreeWalker(list, '0x1', { acceptNode: () => 1 })
log(walker)
log(walker.parentNode()) // null
log(walker.firstChild()) // #item_a
log(walker.lastChild()) // null
log(walker.previousSibling()) // null
log(walker.nextSibling()) // #item_b
log(walker.nextNode()) // #item3
log(walker.previousNode()) // #item_b
Интерфейс
Element
Данный интерфейс предназначен для обработки элементов.
localName
иtagName
— название тега
log(list.localName) // ul
log(list.tagName) // UL
id
— геттер/сеттер для идентификатораclassName
— геттер/сеттер для CSS-класса
log(list.id) // list
list.id = 'LIST'
log(LIST.className) // list
classList
— все CSS-классы элемента (объектDOMTokenList
)
const button = createEl('button', 'Click me', 'my_button', 'btn btn-primary')
log(button. classList)
/*
DOMTokenList(2)
0: "btn"
1: "btn-primary"
length: 2
value: "btn btn-primary"
*/
Работа с
classList
classList.add(newClass)
— добавляет новый класс к существующимclassList.remove(existingClass)
— удаляет указанный классclassList.toggle(className, force?)
— удаляет существующий класс или добавляет новый. Если опциональный аргументforce
имеет значениеtrue
, данный метод только добавляет новый класс при отсутствии, но не удаляет существующий класс (в этом случаеtoggle() === add()
). Еслиforce
имеет значениеfalse
, данный метод только удаляет существующий класс при наличии, но не добавляет отсутствующий класс (в этом случаеtoggle() === remove()
)classList.replace(existingClass, newClass)
— заменяет существующий класс (existingClass
) на новый (newClass
)classList. contains(className)
— возвращаетtrue
, если указанный класс обнаружен в списке классов элемента (данный метод идентиченclassName.includes(className)
)
// добавляем к кнопке новый класс
button.classList.add('btn-lg')
// удаляем существующий класс
button.classList.remove('btn-primary')
// у кнопки есть класс `btn-lg`, поэтому он удаляется
button.classList.toggle('btn-lg')
// заменяем существующий класс на новый
button.classList.replace('btn', 'btn-success')
log(button.className) // btn-success
log(button.classList.contains('btn')) // false
log(button.className.includes('btn-success')) // true
Работа с атрибутами
hasAttributes()
— возвращаетtrue
, если у элемента имеются какие-либо атрибутыgetAttributesNames()
— возвращает названия атрибутов элементаgetAttribute(attrName)
— возвращает значение указанного атрибутаsetAttribute(name, value)
— добавляет указанные атрибут и его значение к элементуremoveAttribute(attrName)
— удаляет указанный атрибутhasAttribute(attrName)
— возвращаетtrue
при наличии у элемента указанного атрибутаtoggleAttribute(name, force)
— добавляет новый атрибут при отсутствии или удаляет существующий атрибут. Аргументforce
аналогичен одноименному атрибутуclassList.toggle()
log(button.hasAttributes()) // true
log(button.getAttributeNames()) // ['id', 'class']
log(button.getAttribute('id')) // button
button.setAttribute('type', 'button')
button.removeAttribute('class')
log(button.hasAttribute('class')) // false
В использовании перечисленных методов для работы с атрибутами нет особой необходимости, поскольку многие атрибуты являются геттерами/сеттерами, т.е. позволяют извлекать/записывать значения напрямую. Единственным исключением является метод removeAttribute()
, поскольку существуют атрибуты без значений: например, если кнопка имеет атрибут disabled
, установка значения данного атрибута в false
не приведет к снятию блокировки — для этого нужно полностью удалить атрибут disabled
с помощью removeAttribute()
.
Отдельного упоминания заслуживает атрибут data-*
, где символ *
означает любую строку. Он предназначен для определения пользовательских атрибутов. Например, в нашей начальной разметке для уникальной идентификации элементов используется атрибут id
. Однако, это приводит к загрязнению глобального пространства имен, что чревато коллизиями между нашими переменными и, например, переменными используемой нами библиотеки — когда какой-либо объект библиотеки пытается записаться в свойство window
, которое уже занято нашим id
.
Вместо этого, мы могли бы использовать атрибут data-id
и получать ссылки на элементы с помощью getEl('[data-id="id"]')
.
Название data-атрибута после символа -
становится одноименным свойством объекта dataset
. Например, значение атрибута data-id
можно получить через свойство dataset.id
.
closest(selectors)
— возвращает первый родительский элемент, совпавший с селекторами
LIST.append(button)
log(button. closest('#LIST', 'document.body')) // #LIST
matches(selectors)
— возвращаетtrue
, если элемент совпадает хотя бы с одним селектором
log(button.matches('.btn', '[type="button"]'))
// у кнопки нет класса `btn`, но есть атрибут `type` со значением `button`,
// поэтому возвращается `true`
insertAdjacentElement(where, newElement)
— универсальный метод для вставки новых элементов перед/в начало/в конец/после текущего элемента. Аргументwhere
определяет место вставки. Возможные значения:beforebegin
— перед открывающим тегомafterbegin
— после открывающего тегаbeforeend
— перед закрывающим тегомafterend
— после закрывающего тега
insertAdjacentText(where, data)
— универсальный метод для вставки текстаText
— конструктор для создания текстаComment
— конструктор для создания комментария
const text = new Text('JavaScript')
log(text) // "JavaScript"
const part = text. splitText(4)
log(part) // "Script"
log(part.wholeText()) // Script
const comment = new Comment('TODO')
log(comment) // <!--TODO-->
Объект
Document
location
— объект с информацией о текущей локации документа
log(document.location)
Свойства объекта location
:
hash
— хэш-часть URL (символ#
и все, что следует за ним), например,#top
host
— название хоста и порт, например,localhost:3000
hostname
— название хоста, например,localhost
href
— полный путьorigin
—protocol
+host
pathname
— путь без протоколаport
— порт, например,3000
protocol
— протокол, например,https
search
— строка запроса (символ?
и все, что следует за ним), например,?name=John&age=30
Методы location
:
reload()
— перезагружает текущую локациюreplace()
— заменяет текущую локацию на новуюtitle
— заголовок документа
log(document. title) // DOM
head
— метаданные документаbody
— тело документаimages
— псевдомассив (HTMLCollection
), содержащий все изображения, имеющиеся в документе
const image = document.createElement('img')
image.className = 'my_image'
image.src = 'https://miro.medium.com/max/875/1*ZIH_wjqDfZn6NRKsDi9mvA.png'
image.alt = "V8's compiler pipeline"
image.width = 480
document.body.append(image)
log(document.images[0]) // .my_image
links
— псевдомассив, содержащий все ссылки, имеющиеся в документе
const link = document.createElement('a')
link.className = 'my_link'
link.href = 'https://github.com/azat-io/you-dont-know-js-ru'
link.target = '_blank'
link.rel = 'noopener noreferrer'
link.textContent = 'Вы не знаете JS'
document.body.append(link)
log(document.links[0]) // .my_link
forms
— псевдомассив, содержащий все формы, имеющиеся в документе
const form = document. createElement('form')
form.className = 'my_form'
document.body.append(form)
log(document.forms[0]) // .my_form
Следующие методы и свойство считаются устаревшими:
open()
— открывает документ для записи. При этом документ полностью очищаетсяclose()
— закрывает документ для записиwrite()
— записывает данные (текст, разметку) в документwriteln()
— записывает данные в документ с переносом на новую строкуdesignMode
— управление режимом редактирования документа. Возможные значения:on
иoff
. Наберитеdocument.designMode = 'on'
в консолиDevTools
и нажмитеEnter
. Вуаля, страница стала редактируемой: можно удалять/добавлять текст, перетаскивать изображения и т.д.execCommand()
— выполняет переданные команды. Со списоком доступных команд можно ознакомиться здесь. Раньше этот метод активно использовался для записи/извлечения данных из буфера обмена (командыcopy
иpaste
). Сейчас для этого используются методыnavigator.clipboard.writeText()
,navigator.clipboard.readText()
и др.
Миксин
InnerHTML
Геттер/сеттер innerHTML
позволяет извлекать/записывать разметку в элемент. Для подготовки разметки удобно пользоваться шаблонными литералами:
const itemsTemplate = `
<li data-id="item1">1</li>
<li data-id="item2">2</li>
<li data-id="item3">3</li>
`
LIST.innerHTML = itemsTemplate
log(LIST.innerHTML)
/*
<li data-id="item1">1</li>
<li data-id="item2">2</li>
<li data-id="item3">3</li>
*/
Расширения интерфейса
Element
outerHTML
— геттер/сеттер для извлечения/записи внешней разметки элемента: то, что возвращаетinnerHTML
+ разметка самого элемента
log(LIST. outerHTML)
/*
<ul>
<li data-id="item1">1</li>
<li data-id="item2">2</li>
<li data-id="item3">3</li>
</ul>
*/
insertAdjacentHTML(where, string)
— универсальный метод для вставки разметки в виде строки. Аргументwhere
аналогичен одноименному аргументу методаinsertAdjacentElement()
Метод insertAdjacentHTML()
в сочетании с шаблонными литералами и их продвинутой версией — тегированными шаблонными литералами (tagged template literals) предоставляет много интересных возможностей по манипулированию разметкой документа. По сути, данный метод представляет собой движок шаблонов (template engine) на стороне клиента, похожий на Pug
, Handlebars
и др. серверные движки. С его помощью (при участии History API
) можно, например, реализовать полноценное одностраничное приложение (Single Page Application
или сокращенно SPA
). Разумеется, для этого придется написать чуть больше кода, чем при использовании какого-либо фронтенд-фреймворка.
Вот несколько полезных ссылок, с которых можно начать изучение этих замечательных инструментов:
Иногда требуется создать элемент на основе шаблонной строки. Как это можно сделать? Вот соответствующая утилита:
const createElFromStr = (str) => {
// создаем временный элемент
const el = document.createElement('div')
// записываем в него переданную строку - разметку
el.innerHTML = str
// извлекаем наш элемент
// если мы используем здесь метод `firstChild()`, может вернуться `#text`
// одна из проблем шаблонных строк заключается в большом количестве лишних пробелов
const child = el.fisrtElementChild
// удаляем временный элемент
el.remove()
// и возвращаем наш элемент
return child
}
// шаблон списка
const listTemplate = `
<ul>
<li data-id="item1">1</li>
<li data-id="item2">2</li>
<li data-id="item3">3</li>
</ul>
`
// создаем список на основе шаблона
const listEl = createElFromStr(listTemplate)
// и вставляем его в тело документа
document. body.append(listEl)
Существует более экзотический способ создания элемента на основе шаблонной строки. Он предполагает использование конструктора DOMParser()
:
const createElFromStr = (str) => {
// создаем новый парсер
const parser = new DOMParser()
// парсер возвращает новый документ
const {
body: { children }
} = parser.parseFromString(str, 'text/html')
// нас интересует первый дочерний элемент тела нового документа
return children[0]
}
const listTemplate = `
<ul>
<li data-id="item1">1</li>
<li data-id="item2">2</li>
<li data-id="item3">3</li>
</ul>
`
const listEl = createElFromStr(listTemplate)
document.body.append(listEl)
Еще более экзотический, но при этом самый короткий способ предполагает использование расширения для объекта Range
— метода createContextualFragment()
:
const createElFromStr = (str) => {
// создаем новый диапазон
const range = new Range()
// создаем фрагмент
const fragment = range. createContextualFragment(str)
// и возвращаем его
return fragment
}
// или в одну строку
const createFragment = (str) => new Range().createContextualFragment(str)
const listTemplate = `
<ul>
<li data-id="item1">1</li>
<li data-id="item2">2</li>
<li data-id="item3">3</li>
</ul>
`
document.body.append(createFragment(listTemplate))
В завершение, как и обещал, универсальная утилита для создания элементов:
// функция принимает название тега и объект с настройками
const createEl = (tag, opts) => {
const el = document.createElement(tag)
// перебираем ключи объекта и записывает соответствующие свойства в элемент
for (const key in opts) {
el[key] = opts[key]
}
// возвращаем готовый элемент
return el
}
const button = createEl('button', {
// настройками могут быть атрибуты
id: 'my_button',
className: 'btn btn-primary',
textContent: 'Click me',
title: 'My button',
autofocus: true,
// стили
style: 'color: red; cursor: pointer;',
// обработчики и т. д.
onmouseenter: function () {
this.style.color = 'green'
},
onmouseout: function () {
this.style.color = 'blue'
},
onclick: () => alert('Привет!')
})
document.body.append(button)
Заключение
Современный JS
предоставляет богатый арсенал методов для работы с DOM
. Данных методов вполне достаточно для решения всего спектра задач, возникающих при разработке веб-приложений. Хорошее знание этих методов, а также умение их правильно применять гарантируют не только высокое качество (чистоту) кода, но также избавляют от необходимости использовать DOM-библиотеки (такие как jQuery
), что в совокупности обусловливает производительность приложения, его поддерживаемость и масштабируемость.
Разумеется, шпаргалка — это всего лишь карманный справочник, памятка для быстрого восстановления забытого материала, предполагающая наличие определенного багажа знаний.
VDS от Маклауд быстрые и безопасные.
Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!
Шпаргалка по Vue.
jsДирективы
Директивы — это атрибуты, определяемыеv-
префикс.
Директива | Описание |
---|---|
v-text | использует свойство как текстовое значение элемента |
v-html | использует свойство как текстовое значение элемента, интерпретируя HTML |
v-if | показывать элемент, только если условие истинно |
v-else | показывает альтернативный элемент, если предыдущийv-if ложно |
v-else-if | добавляет блок else if дляv-if строить |
v-show | похожий наv-if , но добавляет элемент в DOM, даже если он является ложным. Просто установите его наdisplay: none . |
v-for | выполняет итерацию по массиву или повторяемому объекту |
v-on | слушать события DOM |
v-bind | реактивно обновить атрибут HTML |
v-model | устанавливает двустороннюю привязку для входных данных формы. используется в элементах формы, обновляет модель, когда пользователь изменяет значение поля формы |
v-once | применяет свойство только один раз и никогда не обновляет его, даже если переданные данные изменяются |
v-bind
иv-on
иметь сокращенный формат:
<a v-bind:href="url">...</a>
<a :href="url">...</a>
<a v-on:click="doSomething">...</a>
<a @click="doSomething">...</a>
Примерv-if
/v-else
/v-else-if
:
<div v-if="type === 'A'">
it's A
</div>
<div v-else-if="type === 'B'">
it's B
</div>
<div v-else-if="type === 'C'">
it's C
</div>
<div v-else>
it's neither one
</div>
Условные
Вы можете встроить условное выражение в выражение, используя тернарный оператор:
{{ isTrue ? 'yes' : 'no' }}
Работа с элементами формы
Чтобы модель обновлялась, когда происходит событие изменения, а не каждый раз, когда пользователь нажимает клавишу, вы можете использоватьv-model. lazy
вместо простоv.model
.
Работа с полями ввода,v-model.trim
полезно, потому что автоматически удаляет пробелы.
И если вы принимаете число вместо строки, убедитесь, что вы используетеv-model.number
.
Изменение событий
я используюclick
в качестве примера, но относится ко всем возможным событиям
v-on:click.native
запускать собственное событие DOM вместо события Vuev-on:click.stop
остановить распространение события кликаv-on:click.passive
используетпассивная опция addEventListenerv-on:click.capture
использовать захват событий вместо всплытия событийv-on:click.self
убедитесь, что событие щелчка не произошло из дочернего события, а произошло непосредственно с этим элементомv-on:click.once
событие будет срабатывать только один разv-on:submit.prevent
: вызовevent. preventDefault()
при инициированном событии отправки, используется, чтобы избежать отправки формы для перезагрузки страницы
Для получения дополнительной информации о распространении, пузырчатой / захватывающей информации см. МойРуководство по событиям JavaScript.
Модификаторы событий мыши
v-on:click .left
срабатывает только при нажатии левой кнопки мышиv-on:click .right
срабатывает только по щелчку правой кнопкой мышиv-on:click .middle
срабатывает только при нажатии средней кнопки мыши
Отправлять событие, только если нажата определенная клавиша
v-on:keyup.enter
v-on:keyup.tab
v-on:keyup.delete
v-on:keyup.esc
v-on:keyup.up
v-on:keyup.down
v-on:keyup.left
v-on:keyup.right
Модификаторы событий клавиатуры
Запускать событие только в том случае, если также нажата определенная клавиша клавиатуры:
. ctrl
.alt
.shift
.meta
(cmd на Mac, клавиша Windows на Win)
v-привязка
v-bind .prop
привязать опору вместо атрибутаv-bind .camel
используйте camelCase для имени атрибутаv-bind .sync
синтаксический сахар, который превращается вv-on
обработчик обновления привязанного значения. Видетьэто.
Крючки жизненного цикла
beforeCreate
вызывается до создания приложенияcreated
вызывается после создания приложенияbeforeMount
вызывается до того, как приложение будет установлено в DOMmounted
вызывается после того, как приложение установлено в DOMbeforeDestroy
вызывается до того, как приложение будет уничтоженоdestroyed
вызывается после уничтожения приложенияbeforeUpdate
вызывается перед обновлением свойстваupdated
вызывается после обновления свойстваactivated
вызывается, когда активируется поддерживаемый компонентdeactivated
вызывается при деактивации поддерживаемого компонента
Встроенные компоненты
Vue предоставляет 5 встроенных компонентов:
<component>
<transition>
<transition-group>
<keep-alive>
<slot>
Глобальная конфигурация объекта Vue
ВVue. config
объект имеет следующие свойства, которые вы можете изменить при создании экземпляра:
Свойство | Описание |
---|---|
silent | по умолчанию false, если true подавлять журналы и предупреждения |
optionMergeStrategies | позволяет определитьиндивидуальная стратегия слияниядля вариантов |
devtools | по умолчанию true при разработке и false при производстве. Вы можете переопределить эти значения. |
errorHandler | позволяет установить функцию обработчика ошибок. Полезно для подключения Sentry и других подобных сервисов |
warnHandler | позволяет установить функцию обработчика предупреждений, аналогичнуюerrorHandler , но для предупреждений вместо ошибок |
ignoredElements | используется, чтобы позволить Vue игнорировать пользовательские элементы, определенные вне его, напримерВеб-компоненты. |
keyCodes | позволяют вам определять пользовательские ключевые псевдонимы дляv-on |
performance | по умолчанию false. Если установлено значение true, отслеживает производительность компонентов Vue в браузере DevTools. |
productionTip | по умолчанию true. Установите значение false, чтобы отключить предупреждение «вы находитесь в режиме разработки» во время разработки в консоли. |
Методы объекта Vue
Метод | Описание |
---|---|
Vue.extend | позволяет создать подкласс объекта Vue, чтобы создать собственный профиль |
Vue.nextTick | откладывает выполнение обратного вызова после следующего цикла обновления DOM |
Vue.set | добавить свойство к объекту |
Vue.delete | удалить свойство из объекта |
Vue. directive | установить (или получить) глобальную директиву |
Vue.filter | установить (или получить) глобальный фильтр |
Vue.component | установить (или получить) глобальный компонент |
Vue.use | установить плагин Vue.js |
Vue.mixin | установить глобальный миксин |
Vue.compile | скомпилировать строку шаблона в функцию рендеринга |
Vue.version | возвращает текущую установленную версию Vue |
Параметры, переданные объекту Vue
При инициализации объекта Vue вы передаете объект:
Этот объект принимает ряд свойств.
Свойство | Описание |
---|---|
data | позволяет передавать набор реактивных данных, которые будут использоваться приложением Vue. Все реактивные свойства должны быть добавлены во время инициализации, вы не можете добавить новые позже. |
props | это набор атрибутов, которые предоставляются родительским компонентам в качестве входных данных. |
propsData | данные по умолчанию для реквизита. Полезно только во время тестирования |
methods | набор методов, определенных в экземпляре Vue |
computed | как методы, но кешируются внутри |
watch | позволяет просматривать свойства и вызывать функцию при их изменении |
Пример определения данных, методов и вычисляемых свойств:
var vm = new Vue({
el: '#example',
data: {
message: 'Hello'
},
methods: {
reverseMessageAsMethod: function () {
return this.message.split('').reverse().join('')
}
},
computed: {
// a computed getter
reversedMessage: function () {
// `this` points to the vm instance
return this. message.split('').reverse().join('')
}
}
})
console.log(vm.reverseMessageAsMethod) // => ‘olleH’
vm.message = ‘Goodbye’
console.log(vm.reversedMessage) // => ‘eybdooG’
ДОМ
el
устанавливает элемент DOM, на котором монтируется экземпляр. Это может быть селектор CSS или HTMLElement.template
шаблон, представленный в виде строки, который заменит смонтированный элементrender
в качестве альтернативы для определения шаблона вы можете определить шаблон с помощью функции рендерингаrenderError
установить альтернативный выход, когда функция, прикрепленная кrender
терпит неудачу
Ресурсы экземпляра Vue
directives
набор директив для связи с экземпляром Vuefilters
набор фильтров для связи с экземпляром Vuecomponents
набор компонентов, которые нужно связать с экземпляром Vue
Параметры композиции Vue
parent
указывает родительский экземплярmixins
устанавливает массив объектов миксинаextends
расширить другой компонент
Другие параметры объекта Vue
name
установка имени для компонента позволяет вам вызывать его, что полезно при отладке или когда вам нужно рекурсивно добавить компонент в его шаблонfunctional
если true, устанавливает компонент без состояния (нетdata
) и без экземпляров (нетthis
), что делает его более легкимmodel
позволяет настроить свойство, используемое в событиях, полезно, например, при взаимодействии с формамиcomments
по умолчанию false. Если установлено значение true, сохраняет HTML-комментарии, помещенные в шаблоны.
Свойства экземпляра
Учитывая экземпляр Vue, сохраненный в переменнойconst vm = new Vue(/*...*/)
, вы можете просматривать его и взаимодействовать с ним.
Свойства экземпляра Vue
vm.$data
объект данных, связанный с экземпляромvm.$props
реквизит, который получил экземплярvm.$el
элемент DOM, к которому привязан экземплярvm.$options
объект, используемый для создания экземпляра Vuevm.$parent
родительский экземплярvm.$root
корневой экземпляр (если это корневой экземпляр, это указывает на себя)vm.$children
массив дочерних экземпляровvm.$slots
массив связанных слотов, содержащихся в шаблонеvm.$scopedSlots
массив связанных слотов с заданной областью действияvm. $refs
объект, содержащий свойство для каждого элемента, на который указываетref
атрибут, определенный в шаблонеvm.$isServer
истина, если экземпляр Vue запущен на сервере (полезно при рендеринге на стороне сервера)vm.$attrs
объект атрибутов, которые предоставляются компоненту, но не определены как свойстваvm.$listeners
объектv-on
прослушиватели событий, назначенные компоненту
Данные о методах
vm.$watch
настроить наблюдатель для изменений свойств в данных Vue. Он также может следить за изменениями значений внутри объектов.vm.$set
установить свойствоvm.$delete
удалить собственность
События
vm.$emit
запускает настраиваемое событие наvm
Экземпляр Vuevm.$on
прослушивать настраиваемое событие наvm
Экземпляр Vuevm.$once
подобно$on
, но слушает только один разvm. $off
удаляет прослушиватель событий из экземпляра Vue
Методы жизненного цикла
vm.$mount
смонтировать экземпляр Vue на элементе DOM, если он еще не смонтированvm.$forceUpdate
заставитьvm
Экземпляр Vue для повторного рендеринга. Не вызывает повторную визуализацию дочерних компонентов.vm.$nextTick
принимает обратный вызов и планирует его для следующего цикла обновления DOMvm.$destroy
уничтожает приложение и удаляет все дочерние компоненты, наблюдателей и слушателей
Больше руководств по vue:
Шпаргалка по JavaScript №1 — Основы.
Данная статья является коротким справочником, иначе говоря, шпаргалкой, призванная напомнить программистам все основные аспекты JavaScript. Любой программист, не знающий JavaScript, но владеющий хотя бы одним языком программирования, легко схватит весь материал всего за несколько десятков минут. Однако не обязательно быть программистом, чтобы прочитать и понять эту статью. Если есть интерес и желание покопаться в дополнительных источниках по ходу чтения статьи (например, чтобы узнать, что такое цикл, функция или класс), то материал будет воспринят без всяких проблем.
Язык программирования JavaScript имеет С-подобный синтаксис, обладает довольно широкими возможностями и является объектно-ориентированным и интерпретируемым. В JavaScript принят верблюжий стиль названия переменных и функций (camel-cased). При использовании такого стиля название начинается с маленькой буквы и, если состоит из нескольких слов, следующие слова присоединяются без пробелов и начинаются с большой буквы (например: camelBasedLanguage). JavaScript чувствителен к регистру. Переменные «helloWorld» и «helloworld» будут разными переменными. Язык HTML, включающий в себя блок JavaScript, к регистру не чувствителен.
В большинстве случаев код на JavaScript интегрируется в HTML страницу и выполняется браузером. Для быстрого старта создадим файл с расширением «.html» в любом текстовом редакторе (для Windows это может быть Notepad, для Linux – Gedit, Nano или VIM). Внутрь файла поместим следующий код на языке HTML, описывающий самую простую страницу:
<html> <head> <title>Learning JavaScript</title> </head> <body> <p>Hello World! </body> </html>
Запустите любой веб-браузер и откройте в нем только что созданный файл. На экране появится надпись «Hello World!», а заголовком страницы будет «Learning JavaScript».
Так как JavaScript является интерпретируемым языком программирования и выполняется непосредственно при загрузке веб-страницы, то внесение изменений в файл, его сохранение и перезагрузка страницы в браузере приведут к незамедлительному изменению выводимого содеражания. Для проверки попробуйте изменить «Hello World!» на «Hello JavaScript!», сохранить файл и нажать кнопку «Reload» в браузере.
Для вставки JavaScript кода в HTML страницу используйте следующую форму:
<script type='text/javascript'> // Здесь находится код JavaScript. </script>
Поместить этот блок можно в любом месте HTML кода, но существуют некоторые общепринятые рекомендации. Если код будет генерировать динамическое содержимое для графической части страницы (той, что видит посетитель сайта), то разумнее расположить соответствующий код внутри тэга <body>. Если код не создает видимого содержания, а результат его работы необходим для дальнейшего функционирования, то его, соответственно, помещают внутрь тэга <head>. Однако, стоит пояснить, что при обработке веб-страницы браузером любой код читается сверху вниз и при переходе внутрь тэга <script> возникает пауза в отображении информации на экране, пока весь JavaScript код не будет обработан. Поэтому рекомендуется помещать блок JavaScript как можно ближе к концу HTML файла, чтобы не раздражать пользователя долгими ожиданиями при самом начале загрузки веб-страницы.
Внешние файлы с кодом JavaScript (то есть файлы, не содержащие HTML тэги в явном виде внутри себя и имеющие расширение «.js») используются в случаях, когда один и тот же код используется в нескольких местах. Нет смысла при этом дублировать его. Достаточно создать один файл с этим кодом, а уже в HTML файлах, которые будут отправляться с сервера пользователю через сеть или интернет, указать только какой файл использовать для получения необходимого кода. При этом в HTML файле блок скрипта примет следующий вид:
<script type='text/javascript' src='code.js'></script>
То есть, то содержимое, которое ожидается внутри тэга <script> вынесено во внешний файл с именем «code.js».
Когда веб-браузер наткнется на соответствующий блок при прочтении полученной HTML страницы он загрузит указанный файл себе в память. В следующий раз он уже не будет проводить повторную загрузку. Такой подход позволяет значительно сэкономить на передаваемой по сети информации и ускорить загрузку страниц.
Продолжайте обучение и читайте следующую статью о JavaScript «Шпаргалка по JavaScript №2 – Вывод информации».
Блог Андрея Амельченя | Knockout — краткая шпаргалка
Я решил составить краткую шпаргалку по самым необходимым методом фреймворка Knockout, она представляет из себя краткое описание метода с примером. Надеюсь, она будет полезна не только мне…text, value, option, attr, checked, visible, enable, disable, html, css, style, event, click, submit, hasFocus, foreach, if, ifnot, with, observable, observableArray, computed, pureComputed, template, useful
Получение значения
“text”
“text”— применяется для привязки элементов, значение которых не передаются каким-либо атрибутом, а записывается между открывающимся и закрывающимися тегами.
Подходит для: p, span, h[1-6], div,li,ol, th,tr,td, center, blockquote, address и подобных. ..
“value”
“value”— применяется для привязки элементов, значения которых передаются через атрибут value.
Подходит для: как правило это элементы input, предназначенные для ввода информации (text, tel, password, email и подобные)
“option”
“option”— применяется для задания значений тегов option, созданных с помощью контейнера
Может иметь дополнительные параметры:
- «optionsCaption» — текст значения по умолчанию, как правило это «Выберите…».
- «optionsText» — название элемента в объекте, из которого будет получен текст.
- «optionsValue» — название элемента в объекта, из которого будет получено значение для тега value.
- «optionsAfterRender» — позволяет выполнять действия после генерации элементов option.
- «selectedOptions» — позволяет хранить в себе список всех выбранных значений.
“attr”
“attr”— позволяет установить значение любого атрибута ассоциированного в DOM элемента.
Если название атрибута не является валидным названием переменной в JavaScript, то название атрибута необходимо взять в кавычки!
Ссылка
“checked”
«checked» — позволяет связывать значение состояния для элементов <input type=’checkbox’> или <input type=’radio’>
Текст
Отображение/Скрытие, Включение/Отключение
“visible”
“visible” — отображает/скрывает элемент в зависимости от возвращаемого значения переданной функции.
Этот текст отображается тогда, когда установлена галка на элементе checkbox
“enable”
“enable”— позволяет разблокоровать/заблокировать элемент, в зависимости от переданного значения.
“disable”
“disable” — аналогично enable, но выполняет действие строго наоборот.
HTML и стили
“html”
“html” — позволяет отображать в DOM элементе HTML, переданный в параметре.
“css”
“css”— позволяет добавлять или удалять один или несколько название CSS классов в DOM элементе.
Текст…
“style”
“style”— добавляет или удаляет один или несколько стилей в DOM элементе.
Текст
События
“event”
“event” — позволяет добавлять обработчики событий для определённого события.
События мыши: ‘click’, ‘dblclick’, ‘mousedown’, ‘mouseup’, ‘mousemove’, ‘mouseover’, ‘mouseout’, ‘mouseenter’, ‘mouseleave’
События клавиатуры: ‘keyup’, ‘keydown’, ‘keypress’
Наведи мышь
Мышь наведена
“click”
“click” — позволяет определить функцию, вызываемую при щелчке на элементе.
Подходит для: button, input, a и подобных
Количество щелчков () Нажми
“submit”
«submit» — определяет функцию, вызываемую при отправки значений формы(submit form):
<form data-bind="submit: formSubmit"> Отправить </form>
“hasFocus”
“hasFocus” — позволяет связывать событие получения элементов фокуса ввода.
Установить фокус Фокус установлен
Контроль потока
“foreach”
“foreach” — для каждого элемента переданного элемента массива дублирует копию разметки элемента и связывает её с элементом массива.
Если массив содержит только одно свойство, то можно воспользоваться параметром $data, если необходимо получить индекс элемента в массиве $index, получить родительский элемент позволяет параметр $parent
Если нужно переопределить название части массива, то можно использовать “as”. Например вместо $data можно писать content если воспользоваться следующим синтаксисом: data-bind=»foreach: {data: months, as: ‘content’}»
Использую один из параметров: afterRender/afterAdd/beforeRemove/beforeMove/afterMove можно определить функцию, вызываемую в зависимости от того, когда был добавлен элемент в массив или действие связанное с его изменением.
Add В примере используется функция css из jQuery.
“if”
“if” — если переданный аргумент возвращает true, то элемент отображается, иначе он будет скрыт.
Выделить, чтобы увидеть сообщениеЕсли передать объект, то if будет выполнен, если объект не равен null.Скрытое сообщение.
“ifnot”
“ifnot” — аналогично if, то с противоположным значением.
“with”
“with” — создаёт объект привязки к необходимому объекту.
Latitude: , Longitude:
Наблюдение
observable
observableArray
Для того, чтобы добавить наблюдение за изменением объекта существует несколько способов:
ko. observable() — добавляет наблюдение за отдельным объектом
ko.observableArray() — добавляем наблюдение за массивом объектов
computed
pureComputed
Если нужно получить значения из других наблюдаемых объектов не только для чтения, но и для записи, то можно воспользоваться методом ko.computed или ko.pureComputed(введено в версии 3.2, отличается повышенной происводительностью)First name:
Last name:
Hello,
Produce
Использование шаблонов
Шаблон (template)
Шаблон (template) позволяет в DOM элемент вывести значения по заданному шаблону.Шаблон задаётся в блоке javaScript кода с указанием идентификатора данного шаблона.
В шаблоне можно использовать метод foreach:
Можно использовать метод as:
Методы “afterRender”, “afterAdd”, and “beforeRemove” используются аналогично другим методам.
Полезное
Для того, чтобы обновление значения привязанного элемента происходило не после потери фокуса, а сразу после ввода, можно добавить код: valueUpdate: ‘afterkeydown’
Шпаргалка по работе с DOM
Создание элементовdocument.createElement(tag) — создать элемент с тегом tag
document.createTextNode(txt) — создать текстовый узел с текстом txt
node.cloneNode(deep) — клонировать существующий узел, если deep=true то с подузлами.
Свойства узлов
node.nodeType — тип узла: 1(элемент) / 3(текст) / другие.
elem.tagName — тег элемента.
elem.innerHTML — HTML внутри элемента.
node.data — содержимое любого узла любого типа, кроме элемента.
Ссылки
document.documentElement — элемент <HTML>
document.body — элемент <BODY>
По всем узлам:
parentNode
nextSibling previousSibling
childNodes firstChild lastChild
Только по элементам:
Дети: children (В IE 8- также содержит комментарии)
Соседи, кроме IE8-: nextElementSibling previousElementSibling
Дети, кроме IE8-: firstElementChild lastElementChild
Таблицы
table. rows[N] — строка TR номер N.
tr.cells[N] — ячейка TH/TD номер N.
tr.sectionRowIndex — номер строки в таблице в секции THEAD/TBODY.
td.cellIndex — номер ячейки в строке.
Формы
document.forms[N/name] — форма по номеру/имени.
form.elements[N/name] — элемент формы по номеру/имени
element.form — форма для элемента.
Поиск
document.getElementById(id) — По уникальному id
document.getElementsByName(name) — По атрибуту name, в IE<10 работает только для элементов, где name предусмотрен стандартом.
(elem/doc).getElementsByTagName(tag) — По тегу tag
(elem/doc).getElementsByClassName(class) — По классу, IE9+, корректно работает с элементами, у которых несколько классов.
(elem/doc).querySelectorAll(css) — По селектору CSS3, в IE8 по CSS 2.1
(elem/doc).querySelector(css) — По селектору, только первый элемент
Изменение
parent.appendChild(newChild)
parent.removeChild(child)
parent.insertBefore(newChild, refNode)
parent. insertAdjacentHTML(«beforeBegin|afterBegin|beforeEnd|afterEnd», html)
Классы и стили
elem.className — Атрибут class
elem.classList.add(class) remove(class) toggle(class) — Управление классами в HTML5, для IE8+ есть эмуляция.
elem.style.display — Стиль в атрибуте style элемента
getComputedStyle(elem, »).display — Стиль с учётом CSS и style на элементе
Размеры и прокрутка элемента
clientLeft/Top — Ширина левой/верхней рамки border
clientWidth/Height — Ширина/высота внутренней части элемента, включая содержимое и padding, не включая полосу прокрутки (если есть).
scrollWidth/Height — Ширина/высота внутренней части элемента, с учетом прокрутки.
scrollLeft/Top — Ширина/высота прокрученной области.
offsetWidth/Height — Полный размер элемента: ширина/высота, включая border.
Размеры и прокрутка страницы
ширина/высота видимой области: document.documentElement.clientHeight
прокрутка(чтение): window.pageYOffset || document. documentElement.scrollTop
прокрутка(изменение): window.scrollBy(x,y): на x,y относительно текущей позиции.
window.scrollTo(pageX, pageY): на координаты в документе.
elem.scrollIntoView(true/false): прокрутить, чтобы elem стал видимым и оказался вверху окна(true) или внизу(false)
Координаты
относительно окна: elem.getBoundingClientRect()
относительно документа: elem.getBoundingClientRect() + прокрутка страницы
получить элемент по координатам: document.elementFromPoint(clientX, clientY)
Памятка по JavaScript (включая версию в формате .PDF)
Ниже вы можете найти памятку по JavaScript в формате .pdf, а также в текстовом виде.
Шпаргалка по JavaScript
Основы JavaScript
Начнем с основ — как включить JavaScript на веб-сайте.
Включение JavaScript в HTML-страницу
Чтобы включить JavaScript на страницу, необходимо обернуть его тегами
:
Включая комментарии
Комментарии важны, потому что они помогают другим людям понять, что происходит в вашем коде, или напомнить вам, если вы сами что-то забыли.Имейте в виду, что они должны быть правильно помечены, чтобы браузер не пытался их выполнить.
В JavaScript у вас есть две разные опции:
- Однострочные комментарии — Чтобы включить комментарий, который ограничен одной строкой, поставьте перед ним
//
- Многострочные комментарии — В случае вы хотите написать более длинные комментарии между несколькими строками, заключите их в
/*
и*/
, чтобы они не выполнялись. Вы должны быть знакомы с ними из урока математики. var , const , letУ вас есть три разных возможности объявления переменной в JavaScript, каждая со своими особенностями:
-
var
— самая распространенная переменная. Его можно переназначить, но доступ к нему возможен только внутри функции. Переменные, определенные с помощьюvar
, перемещаются вверх при выполнении кода. -
const
— Не может быть переназначен и недоступен до того, как они появятся в коде. -
let
— аналогичноconst
переменнаяlet
может быть переназначена, но не объявлена повторно.
Типы данных
Переменные могут содержать различные типы значений и типов данных. Вы используете
=
, чтобы назначить их:- номеров -
var age = 23
- Переменные -
var x
- текст (строки) -
var a = "init"
- Операции -
VAR B = 1 + 2 + 3
- Верные или ложные утверждения —
var c = true
- Постоянные числа —
const PI = 3. 14
- Объекты —
var name = {firstName:"John", lastName:"Doe"}
Возможностей больше. Обратите внимание, что переменные чувствительны к регистру. Это означает, что
фамилия
ифамилия
будут обрабатываться как две разные переменные.Объекты
Объекты — это переменные определенного типа. Это переменные, которые могут иметь свои собственные значения и методы. Последние — это действия, которые вы можете выполнять над объектами.
переменная персона = { Имя: "Джон", фамилия: "Доу", возраст: 20, национальность: "немец" };
Следующий уровень: Массивы
Следующим шагом в нашей шпаргалке по JavaScript являются массивы.Массивы являются частью многих различных языков программирования. Это способ организации переменных и свойств в группы. Вот как это сделать в JavaScript:
var fruit = ["Банан", "Яблоко", "Груша"];
Теперь у вас есть массив с именем
fruit
, который содержит три элемента, которые вы можете использовать для будущих операций.Методы массива
После того, как вы создали массивы, вы можете сделать с ними несколько вещей:
-
concat()
— Объединить несколько массивов в один где данный элемент появляется в массиве -
join()
— объединяет элементы массива в одну строку и возвращает строку -
lastIndexOf()
— дает последнюю позицию, в которой данный элемент появляется в массиве -
pop()
— Удаляет последний элемент массива -
push()
— Добавляет новый элемент в конец -
reverse()
— Сортировка элементов в порядке убывания -
shift()
— Удалить первый элемент массива -
slice()
— Извлечь копию части массива в новый массив -
sort()
— Сортировать элементы по алфавиту -
splic e()
— Добавляет элементы указанным образом и в указанном положении -
toString()
— Преобразует элементы в строки -
unshift()
— Добавляет новый элемент в начало -
valueOf()
— Возвращает примитивное значение указанного объекта
Операторы
Если у вас есть переменные, вы можете использовать их для выполнения различных операций. Для этого вам нужны операторы.
Основные операторы
-
+
- Дополнение -
-
- Вычитание -
*
- Умновидение -
/
- Division -
(...)
- Группировка оператор, операции в скобках Выполнены ранее, чем те, кто на улице -
%
- модуль (остаток) -
++
- увеличение номеров
-
- Уменьшение номеров -
Операторы сравнения
-
==
- равны - - равны
-
===
— Равное значение и одинаковый тип -
!=
— Не равно -
!==
— Не равное значение или неравный тип -
>
— Больше 6 с 900 чем -
>=
— Больше или равно -
<=
— Меньше или равно -
?
— Тернарный оператор
Логические операторы
-
&&
— Логические и -
||
— Логический или -
!
— Логическое не
Побитовые операторы
-
и
— оператор AND -
|
- или заявление -
~
- не - не -
^
- XOR -
<<
- Left Shift -
>>
- правый Shift -
>>>
- нулевой заполнитель правый Shift
Функции
Функции JavaScript — это блоки кода, выполняющие определенную задачу. Базовая функция выглядит следующим образом:
имя функции (параметр1, параметр2, параметр3) { // что делает функция }
Как видите, он состоит из функции
ключевого слова плюс имя. Параметры функции заключены в скобки, а то, что функция выполняет, заключено в фигурные скобки. Вы можете создать свой собственный, но чтобы облегчить себе жизнь — есть также ряд функций по умолчанию.
Вывод данных
Обычным применением функций является вывод данных.Для вывода у вас есть следующие опции:
-
alert()
— Вывод данных в окне предупреждения в окне браузера при щелчке пользователя -
console.log()
— Записывает информацию в консоль браузера, подходит для целей отладки -
document.write()
— Записывает непосредственно в документ HTML диалог для пользовательского ввода
Глобальные функции
Глобальные функции — это функции, встроенные в каждый браузер, поддерживающий JavaScript.
-
decodeURI()
— Декодирует универсальный идентификатор ресурса (URI), созданный с помощьюencodeURI
или аналогичного -
decodeURIComponent()
— Декодирует компонент URI 8 -
encodeURIComponent()
— То же, но для компонентов URI -
eval()
— Оценивает код JavaScript, представленный в виде строки -
isFinite()
— Определяет, является ли переданное значение конечным числом 900 () — Определяет, является ли значение NaN или нет -
Number()
— Возвращает число, преобразованное из его аргумента -
parseFloat()
— Анализирует аргумент и возвращает число с плавающей запятой -
parseInt ()
— анализирует свой аргумент и возвращает целое число
Циклы JavaScript
Циклы являются частью большинства языков программирования.Они позволяют выполнять блоки кода нужное количество раз с разными значениями:
for (до цикла; условие для цикла; выполнить после цикла) { // что делать во время цикла }
У вас есть несколько параметров для создания циклов:
-
for
— Наиболее распространенный способ создания цикла в JavaScript -
while
— Устанавливает условия, при которых выполняется цикл -
do while — Аналогично к циклу
while
, но он выполняется хотя бы один раз и в конце проверяет, выполняется ли условие для повторного выполнения -
break
— Используется для остановки и выхода из цикла при определенных условиях -
continue
— Пропускать части цикла, если выполняются определенные условия
Эти типы операторов легко понять. Используя их, вы можете установить условия выполнения вашего кода. Если выполняются определенные условия, что-то делается, если нет — выполняется что-то другое.
если (условие) { // что делать, если условие выполнено } еще { // что делать, если условие не выполнено }
Концепция аналогична , если еще
— это оператор switch
. Однако с помощью переключателя вы выбираете один из нескольких блоков кода для выполнения.
Строки
Строки — это то, что JavaScript вызывает к тексту, который не выполняет никакой функции, но может отображаться на экране.
var person = "Джон Доу";
В данном случае John Doe
является строкой.
Экранирующие символы
В JavaScript строки заключаются в одинарные или двойные кавычки. Если вы хотите использовать кавычки в строке, вам нужно использовать специальные символы:
-
\'
— одинарная кавычка -
\"
— двойная кавычка
Кроме того, у вас также есть дополнительные escape-символы:
-
\\
- Backslash - Backspace - Backspace -
\ F
- Form Feed -
\ N
- Новая строка -
\ R
- Возвращение перевозки -
\ T
— Горизонтальный табулятор -
\v
— Вертикальный табулятор
Строковые методы
Существует множество различных способов работы со строками:
-
charAt()
— Возвращает символ в указанной позиции внутри строкиcharCodeAt()
— Выдает Unicode символа в этой позиции -
concat()
— Объединяет (объединяет) две или более строк в одну -
fromCharCode()
— Возвращает строку, созданную из указанной последовательности единиц кода UTF-16 -
indexOf()
— Предоставляет позицию первого вхождения указанного текста в строке -
lastIndexOf()
— То же, что иindexOf()
, но с последним вхождением, поиск назад -
match()
— извлекает совпадения строки с шаблоном поиска -
replace()
— находит и заменяет указанный текст в строке -
search()
— Выполняет поиск соответствующего текста и возвращает его позицию -
slice()
— Извлекает часть строки и возвращает ее как новую строку -
split()
— Разбивает строку объект в массив строк в указанной позиции -
substr()
— аналогиченslice()
, но извлекает подстроку в зависимости от указанного количества символов 90 039
substring()
— Аналогично slice()
, но не может принимать отрицательные индексы valueOf()
— Возвращает примитивное значение (не имеющее свойств или методов) строкового объектаСинтаксис регулярных выражений
Регулярные выражения — это шаблоны поиска, используемые для сопоставления комбинаций символов в строках. abc] — Найти любой символ, который не находится в квадратных скобках
[0-9]
— Используется для поиска любой цифры от 0 до 9 [Az]
— Найти любой символ от прописной A до строчной z (a|b|c)
— Найдите любой из вариантов, разделенных |
Метасимволы
-
.
— Поиск одного символа, кроме символа новой строки или конца строки -
\w
— Словесный символ -
\W
— Несловный символ -
\d
— Цифра -
\s
— Пробельный символ -
\S
— Непробельный символ -
\b
— Поиск совпадений в начале/конце слова -
\B 90 не в начале/конце слова
-
\0
— символ NUL -
\n
— символ новой строки -
\f
— символ перехода страницы -
\r
— символ возврата -
\t
— Символ табуляции -
\v
— Символ вертикальной табуляции -
\xxx
— Символ, заданный восьмеричным числом xxx -
\xdd
— Символ, заданный шестнадцатеричным числом umber dd -
\uxxxx
— символ Unicode, заданный шестнадцатеричным числом XXXX
D 9001 -цифровой символ
Квантификаторы
-
n+
— соответствует любой строке, содержащей хотя бы один ноль —n *9 или более вхождений n -
n?
— Строка, содержащая ноль или одно вхождение n -
n{X}
— Строка, содержащая последовательность X n -
n{X,Y}
— Строка, содержащая последовательность от X до Y n -
n{X,}
— Соответствует любой строке, содержащей последовательность хотя бы из X n -
n$
— Любая строка с n в конце ее начало -
?=n
— Любая строка, за которой следует определенная строка n -
?!n
— Строка, за которой не следует определенная строка ni
Числа и математика
В JavaScript вы также можете работать с числами, константами и выполнять математические функции.
Номер недвижимости
Max_Value
- максимальное числовое значение, представленное в JavaScript Min_Value
- наименьшее положительное числовое значение, представимое в JavaScript NAN
- значение «Not-Number» Brance_infinity
- Отрицательная бесконечность Diver_infinity
- Позитивная бесконечностьМетоды номера
-
Toexponential ()
- возвращает строку с закругленным числом, написанным как экспоненциальные записи -
TOFIXED ()
- возвращает строка числа с указанным количеством знаков после запятой -
toPrecision()
— Строка числа, записанная с указанной длиной -
toString()
— Возвращает число в виде строки -
valueOf()
— Возвращает число как число
Математические свойства
- 9 0016 E - номер EULER
-
LN2
- натуральный логарифм 2 -
LN10
- натуральный логарифм 10 -
Log2e
- База 2 Логарифма E -
Log10e
- База 10 Логарифм E -
PI
- Номер PI -
SQRT1_2
- - квадратный корень из 1/2
SQRT2
- квадратный корень из 2
Math Maths
-
ABS (X)
- возвращает абсолют ( положительное) значение x -
acos(x)
— арккосинус x, в радианах -
asin(x)
— арксинус x, в радианах -
atan(x)
— арктангенс x as числовое значение -
atan2(y,x)
— Арктангенс отношения аргументов -
ceil(x)
— Значение x, округленное до ближайшего целого числа -
cos(x)
— Косинус x (x в радианах) 90 044 -
exp(x)
— Значение E x -
floor(x)
— Значение x, округленное до ближайшего целого числа -
log(x)
— Натуральный логарифм (по основанию E) x -
max(x,y,z,. ..,n)
— Возвращает число с наибольшим значением -
min(x,y,z,...,n)
— То же самое для числа с наименьшим значением -
pow(x,y)
— X в степени y -
random()
— Возвращает случайное число от 0 до 1 -
round(x)
— Значение x, округленное до ближайшего целого числа -
sin(x)
— Синус x (x в радианах) -
sqrt(x)
— Квадратный корень из x -
tan(x)
— Тангенс угла
Работа с датами в JavaScript
Вы можете также работать с датами и временем и изменять их с помощью JavaScript.Это следующая глава шпаргалки по JavaScript.
Установка дат
-
Date()
— Создает новый объект даты с текущими датой и временем -
Date(2017, 5, 21, 3, 23, 10, 0)
— Создает пользовательский объект даты . Цифры обозначают год, месяц, день, час, минуты, секунды, миллисекунды. Вы можете опустить все, что хотите, кроме года и месяца. -
Date("2017-06-23")
— Объявление даты в виде строки
Извлечение значений даты и времени
-
getDate()
— Получить день месяца в виде числа (1-31 ) -
getDay()
— День недели в виде числа (0–6) -
getFullYear()
— Год в виде четырехзначного числа (гггг) -
getHours()
— Получить час (0 -23) -
getMilliseconds()
— Миллисекунды (0–999) -
getMinutes()
— Получить минуты (0–59) -
getMonth()
— Месяц в виде числа (0–11) ) -
getSeconds()
— Получить секунды (0-59) -
getTime()
— Получить миллисекунды с 1 января 1970 г. -
getUTCDate()
— День (число) месяца в указанная дата по всемирному времени (также доступно для дня, месяца, полного года, часов, минут и т. д.) -
parse
— Анализирует строковое представление даты и возвращает количество миллисекунд с 1 января 1970 г.
Установить часть даты -31)
setFullYear()
— устанавливает год (необязательно месяц и день) setHours()
— устанавливает час (0-23) setMilliseconds()
— устанавливает 9 миллисекунд (0-устанавливает 9 миллисекунд ) setMinutes()
— устанавливает минуты (0-59) setMonth()
— устанавливает месяц (0-11) setSeconds()
— устанавливает секунды (0-54) — устанавливает секунды (0-54) setTime()
— Установить время (в миллисекундах с 1 января 1970 г.) , часы, минуты и т.)Режим DOM
DOM — это объектная модель документа страницы. Это код структуры веб-страницы. В JavaScript есть множество различных способов создания элементов HTML (называемых узлами) и управления ими.
Свойства узла
-
атрибуты
— Возвращает динамическую коллекцию всех атрибутов, зарегистрированных для элемента -
baseURI
— Предоставляет абсолютный базовый URL-адрес элемента HTML nodes -
firstChild
— возвращает первый дочерний узел элемента -
lastChild
— последний дочерний узел элемента -
nextSibling
— возвращает следующий узел 70 nodeName - 4 90 — Возвращает имя узла
-
nodeType
— Возвращает тип узла -
nodeValue
— Задает или возвращает значение узла -
ownerDocument
— Объект документа верхнего уровня для этого узла -
previousSibling
— Retur ns узел, непосредственно предшествующий текущему -
textContent
— задает или возвращает текстовое содержимое узла и его потомков последний дочерний узел -
cloneNode()
— Клонирует HTML-элемент -
compareDocumentPosition()
— Сравнивает положение двух элементов в документе -
getFeature()
— Возвращает объект, реализующий API0 указанной функции -
hasAttributes()
— возвращает true, если у элемента есть какие-либо атрибуты, иначе false -
hasChildNodes()
— возвращает true, если у элемента есть дочерние узлы, иначе false -
insertBefore()
— вставляет новый дочерний элемент node перед указанным существующим дочерним узлом -
isDefaultNamespace()
— возвращает true, если указанный namespaceURI по умолчанию, в противном случае false -
isEqualNode()
— Проверяет, равны ли два элемента -
isSameNode()
— Проверяет, являются ли два элемента одним и тем же узлом -
isSupported()
— Возвращает true, если указанная функция поддерживается в элементе -
lookupNamespaceURI()
— Возвращает URI пространства имен, связанный с данным узлом -
lookupPrefix()
— Возвращает DOMString, содержащую префикс для данного URI пространства имен, если он присутствует -
normalize()
— Соединяет соседние текстовые узлы и удаляет пустые текстовые узлы в элементе -
removeChild()
— Удаляет дочерний узел из элемента -
replaceChild()
— Заменяет дочерний узел в элементе
parentNode
— Возвращает родительский узел элемента
Методы элемента
- 4
-
getAttribute()
— Возвращает указанное значение атрибута узла элемента -
getAttributeNS()
— Retu Строковое значение атрибута с указанным пространством имен и именем -
getAttributeNode()
— Получает указанный узел атрибута -
getAttributeNodeNS()
— Возвращает узел атрибута для атрибута с заданным пространством имен и именем -
getElements ()
— Предоставляет коллекцию всех дочерних элементов с указанным именем тега -
getElementsByTagNameNS()
— Возвращает живую HTMLCollection элементов с определенным именем тега, принадлежащих заданному пространству имен -
hasAttribute()
— Возвращает true если элемент имеет какие-либо атрибуты, в противном случае false -
hasAttributeNS()
— Предоставляет значение true/false, указывающее, имеет ли текущий элемент в данном пространстве имен указанный атрибут -
removeAttribute()
— Удаляет указанный атрибут из element -
removeAttributeNS()
— Удаляет указанный d атрибут элемента в определенном пространстве имен -
removeAttributeNode()
— удаляет указанный узел атрибута и возвращает удаленный узел -
setAttribute()
— устанавливает или изменяет указанный атрибут на указанное значение -
setAttributeNS ()
— добавляет новый атрибут или изменяет значение атрибута с заданным пространством имен и именем -
setAttributeNode()
— устанавливает или изменяет указанный узел атрибута -
setAttributeNodeNS()
— добавляет новый узел атрибута с пространством имен к элементу
Работа с браузером пользователя
Помимо элементов HTML, JavaScript также может учитывать браузер пользователя и включать его свойства в код.
Свойства окна
-
Closed
— Проверяет, было ли окно закрыто или нет, и возвращает true или false -
defaultStatus
— Устанавливает или возвращает текст по умолчанию в строке состояния окна Возвращает объект документа для окна -
кадры
— Возвращает всеэлементов
в текущем окне -
history
— Предоставляет объект History для окна content area -
innerWidth
— Внутренняя ширина области содержимого -
length
— Узнать количество -
window
— 904имя
— задает или возвращает имя окна -
навигатор
— возвращает навигацию igator object for the window -
opener
— Возвращает ссылку на окно, создавшее окно -
externalHeight
— Внешняя высота окна, включая панели инструментов/полосы прокрутки -
externalWidth
— Внешняя ширина окна , включая панели инструментов/полосы прокрутки -
pageXOffset
— Количество пикселей, на которое текущий документ был прокручен по горизонтали -
pageYOffset
— Количество пикселей, на которое документ был прокручен по вертикали -
parent
— Родительское окно текущего окна 904 -
screen
— Возвращает объект Screen для окнаscreenLeft
но нужен для некоторых браузеров -
sc reenY
— то же, что иscreenTop
, но требуется для некоторых браузеров окно браузера
Методы окна
-
alert()
— Отображает окно предупреждения с сообщением и кнопкой OK -
blur()
— Удаляет фокус с текущего окна таймер, установленный с помощьюsetInterval()
-
clearTimeout()
— очищает таймер, установленный с помощьюsetTimeout()
-
close()
— закрывает текущее окно окно с сообщением и кнопкой OK и Cancel кнопка -
focus()
— Устанавливает фокус на текущее окно -
moveBy( )
— Перемещает окно относительно его текущей позиции -
moveTo()
— Перемещает окно в указанную позицию -
open()
— Открывает новое окно браузера -
print()
— Распечатывает содержимое текущего окна -
prompt()
— Отображает диалоговое окно, предлагающее посетителю ввести данные -
resizeBy()
— Изменяет размер окна на указанное количество пикселей до указанной ширины и высоты -
scrollBy()
— прокручивает документ на указанное количество пикселей -
scrollTo()
— прокручивает документ до указанных координат -
setInterval()
— вызывает функцию или оценивает выражение через указанные интервалы -
setTimeout()
— вызывает функцию или вычисляет выражение после указанного интервала -
stop() 90 017 — Останавливает загрузку окна.
Свойства экрана.
-
availHeight.
colorDepth
— Возвращает разрядность цветовой палитры для отображения изображений. Общая ширина экрана
События JavaScript
События — это вещи, которые могут происходить с элементами HTML и выполняются пользователем.Язык программирования может прослушивать эти события и запускать действия в коде. Без них не обходится ни одна шпаргалка по JavaScript.
Мышь
-
onclick
— Событие происходит, когда пользователь щелкает элемент -
oncontextmenu
— Пользователь щелкает элемент правой кнопкой мыши, чтобы открыть контекстное меню элемент -
onmousedown
— Пользователь нажимает кнопку мыши над элементом -
onmouseenter
— Указатель перемещается на элемент -
onmouseleave
— Указатель перемещается из элемента пока он находится над элементом -
onmouseover
— когда указатель мыши перемещается на элемент или один из его дочерних элементов -
onmouseout
— пользователь перемещает указатель мыши за пределы элемента или одного из его дочерних элементов -
onmouseup
— Пользователь отпускает кнопку мыши над элементом
Клавиатура
-
onkeydo wn
— Когда пользователь нажимает клавишу -
onkeypress
— Момент, когда пользователь начинает нажимать клавишу -
onkeyup
— Пользователь отпускает клавишу -
onbeforeunload
— Событие происходит перед выгрузкой документа -
onerror
— Ошибка при загрузке внешнего файла URL -
onload
onload
- когда объект загруженOnPageHide
- пользователь навигации от WebPageOnPageHow
- когда пользователь навигации к веб-страницеonReSize
- представление документов изменяет размерonscroll
— Полоса прокрутки элемента прокручиваетсяonunload
— Произошло событие s когда страница выгружена
Форма
-
onblur
— Когда элемент теряет фокус -
onchange
— Содержимое элемента формы меняется (для)
-
onfocus
— Элемент получает фокус -
onfocusin
— Когда элемент вот-вот получит фокус -
onfocusout
— Элемент вот-вот потеряет фокус - — Элемент вот-вот потеряет фокус на элементе
-
oninvalid
— Элемент недействителен -
onreset
— Форма сброшена -
onsearch
— Пользователь что-то пишет в поле поиска (для74 74
onselect
— Пользователь выбирает текст (дляonsubmit
— Форма отправлена
Dra G
-
OnDrag
- элемент перетаскивается -
Ondragend
- пользователь закончил перетаскивание элемента -
ondragenter
- перетаскиваемый элемент входит в целевую цену -
OndragLeave
- перетаскиваемый элемент оставляет падение Target -
Ondragover
- перетаскиваемый элемент находится на вершине The Drop Target -
OndragStart
- пользователь начинает перетаскивать элемент -
OnDrop
- перетаскиваемый элемент упал на цель
буфера обмена
-
oncopy
- пользователь копирует содержимое элемента -
OnCut
- пользователь сокращает контент элемента -
onPaste
- пользовательский паст контент в элементе
Media
-
Onabort
- Media loading is aborted -
oncanplay
— Браузер может начать воспроизведение мультимедиа (например,грамм. файл достаточно буферизован) -
oncanplaythrough
— Браузер может воспроизводить мультимедиа без остановки -
ondurationchange
— Продолжительность смены мультимедиа -
onended
— Конец мультимедиа9 onerror 90 Происходит, когда возникает ошибка при загрузке внешнего файла
-
onloadeddata
— Медиаданные загружаются -
onloadedmetadata
— Метаданные (такие как размеры и продолжительность) загружаются -
onloadstart
— Браузер начинает искать указанный медиафайл9
onpause
— мультимедиа поставлено на паузу пользователем или автоматически -
onplay
— мультимедиа запущено или больше не приостановлено — Браузер находится в процессе загрузки media -
onratechange
— Скорость воспроизведения медиа изменяется -
onseeked
— Пользователь закончил перемещение/переход на новую позицию в медиа -
onseeking
— Пользователь начал перемещение/пропуск -
onsuspend
— Браузер намеренно не загружает медиафайл -
ontimeupdate
— Позиция воспроизведения изменилась (т.грамм. из-за быстрой перемотки вперед) -
onvolumechange
— Громкость мультимедиа изменилась (включая отключение звука) -
onwaiting
— Медиа приостановлено, но ожидается возобновление (например, буферизация)
9 на 9 — Браузер пытается загрузить медиафайл, но он недоступен
Анимация CSS
9 9 Анимация завершена анимация - CSS анимация повторяется AnimationStart
- CSS анимация началась Другое
Другое
-
Переход
- Устреливается, когда переход CSS завершен -
OnMessage
- сообщение получено через источник события -
onoffline
— Браузер начинает работать оффлайн -
ononline
— Браузер начинает работать онлайн -
onpopstate
— При изменении истории окна —7 -
onshow > Элемент
отображается в виде контекстного меню 90 039 onstorage
— Обновляется область веб-хранилища
onggle
— Пользователь открывает или закрывает элемент
onwheel
— Колесико мыши перемещается вверх или вниз по элементу 900 Прикосновение к экрану прервано ontouchend
— Палец пользователя убран с сенсорного экрана ontouchmove
— Палец проведен по экрану Ошибки
При работе с JavaScript могут возникать различные ошибки.Существует несколько способов их обработки:
-
try
— позволяет определить блок кода для проверки на наличие ошибок -
catch
— настроить блок кода для выполнения в случае ошибки -
throw
— Создавать собственные сообщения об ошибках вместо стандартных ошибок JavaScript -
finally
— Позволяет выполнять код после попытки и перехвата независимо от результата
Имя ошибки Значения
JavaScript также имеет встроенный объект ошибки.Оно имеет два свойства:
-
name
— Задает или возвращает имя ошибки -
message
— Задает или возвращает сообщение об ошибке в виде строки из
Свойство error может возвращать шесть различных значений в качестве имени:
-
EvalError
— Произошла ошибка в функции eval()
-
RangeError
— Число «вне диапазона» -
ReferenceError
— Произошла недопустимая ссылка Произошла синтаксическая ошибка -
TypeError
— Произошла ошибка типа -
URIError
— Произошла ошибка encodeURI()
Шпаргалка по JavaScript в двух словах
язык.Это все более популярный язык для создания веб-ресурсов благодаря проверенному опыту и преимуществам. В шпаргалке по JavaScript выше мы собрали множество самых основных и важных операторов, функций, принципов и методов. Он обеспечивает хороший обзор языка и справку как для разработчиков, так и для учащихся. Мы надеемся, что вы нашли его полезным.
У вас есть дополнения к шпаргалке по JavaScript? Пожалуйста, дайте нам знать в разделе комментариев ниже!
Шпаргалка и краткое руководство по JavaScript
Независимо от того, изучаете ли вы Javascript или являетесь продвинутым разработчиком, может быть полезно иметь справочный лист для общих команд JavaScript.Мы составили загружаемый шпаргалку по JavaScript, чтобы держать ее под рукой.
Но сначала давайте вспомним, что такое JavaScript и как он работает.
Что такое JavaScript?
JavaScript — это язык программирования, используемый для создания интерактивных элементов веб-сайта, таких как карты, прокручиваемые видео и анимация. Он работает в тандеме с другими языками кодирования, такими как HTML и CSS.
В чем разница между JavaScript, HTML и CSS?
JavaScript, HTML и CSS — это языки программирования со значительными отличиями:
- HTML — это язык, используемый для определения текста и заголовков, а также для встраивания изображений на веб-страницу.
- CSS — это язык, используемый для применения стилей к содержимому HTML, например цветов и шрифтов.
- JavaScript — это язык, который создает интерактивный и динамический контент, такой как движущаяся графика, карты, прокручиваемые видео и многое другое.
Где JavaScript находится на вашем веб-сайте
JavaScript находится в HTML ваших веб-страниц. Он должен быть зарезервирован тегами
Вы также можете добавить код JavaScript в файл и создать ссылку на него в HTML-коде.Эта форма связывания, которую иногда называют «связыванием JavaScript извне», помогает вам отслеживать ваш код.
Как писать JavaScript
Существуют категории кода JavaScript, в том числе:
- Переменные: переменная — это элемент, который может изменяться (т. е. значение данных, которое может быть изменено).
- Операторы: как и другие В языках программирования оператор оперирует одним или несколькими значениями данных для получения результата.
- Функции: Функция принимает входные данные и производит соответствующие выходные данные.Обычно это набор операторов, которые выполняют задачу для получения результата.
- Циклы: зацикливает блок кода до тех пор, пока не будут выполнены определенные условия.
- Операторы If-Else: Подобно блок-схеме, операторы If-Else запускают блоки кода, если выполняются определенные условия. Если условия ложны, запускается другой блок кода.
- Строки: Строки — это способ хранения текста. В строках первый символ равен 0, второй символ равен 1, третий символ равен 2 и так далее.
- Регулярные выражения. Регулярное выражение, также называемое рациональным выражением, представляет собой строку символов в шаблоне, используемом для сопоставления комбинаций символов.
- Числа и математика. Числа и математика — это статические свойства математических констант и функций.
- Даты: Как следует из названия, даты в JavaScript — это момент времени, который может быть таким же конкретным, как конкретная миллисекунда в любой конкретный день.
- DOM-узел: DOM-узел позволяет JavaScript динамически обновлять содержимое страницы.
- События. Событие — это любое изменение или обновление веб-страницы, происходящее во время выполнения кода JavaScript.
Памятка по командам JavaScript
При работе с JavaScript ознакомьтесь с нашей полной памяткой по командам JavaScript.
Переменные
Это элементы, которые могут изменяться, включая переменные, типы данных и массивы.
var | Наиболее распространенная переменная.VAR Переменные двигаться к вершине, когда код выполнен | ||
const |
| Переменная, которая не может быть переназначена и недоступна до того, как они появляются в коде | |
давайте
| Переменная можно переназначить, но не повторяется | ||
VAR Age = 23 |
| ||
9202 VAR x | Переменные 8 | 9202 ||
var a = "init" | Текст (строки) | ||
var b = 1 + 2 + 3
|
|
| |
True или False | |||
константа ПИ = 3.14 | постоянные номера 9202 | ||
| |||
var name = {firstName: "John", фамилия: "DOE"} | объекты | ||
Присоединяйтесь к нескольким массивам в один | |||
INDEXOF () | |||
INDEXOF () | возвращает первое положение, на котором данный элемент появляется в массиве | соединение () | объединить элементы массива в одну строку и вернуть строку |
LASTINDEXOF () 9202 | дает последнюю позицию, в которой данный элемент появляется в массиве | POP () | Удаляет последний элемент массива |
push() | Добавить новый элемент в конце | ||
Обратный заказ элементов в Array | |||
Shift () 8 | Удалить первый элемент Array | ||
Slice () | вытягивает копию части массива в новый массив 4 24 | ||
сортировки () | сортировки элементов алфавита | Splice () | добавляют элементы в Указанный путь и позиция |
TOSTRING () TOSTRING () |
| ||
9202 | добавляют новый элемент к началу | ||
ValueOf () | Возвращает примитивное значение указанного объекта |
Op erators
Это одно или несколько значений данных, используемых для получения результата, включая базовые операторы, операторы сравнения, логические операторы и побитовые операторы.
(знак плюс) + | Дополнение | |
- | Вычитание | |
* | Умножение | |
/ | Division | |
(..) Группировка | (..) Оператор группы | группы группировки |
%
| остаток | |
(два плюс знаки) ++ | увеличения чисел | |
- | - |
9203 |
(2 равные знаки) ==
| , равных 4 | |
(3 равные знаки) = == | Равное значение и одинаковый тип | |
! = 9202 | неравномерно | |
| ||
! == |
| |
больше чем | ||
< | менее | |
> = | больше или равно | |
<= | меньше или равно | |
? | Тернарный оператор | |
&& | Логический и | |
5 !! | Логический или | |
! | Логический не | |
и | Оператор AND | |
| | оператор ИЛИ | |
~ |
| НЕ |
| ^
| XOR |
<< | левый сдвиг | |
>> | Right Shift 9202 | |
>>> | ||
|
| Zero Fill Fill Shift |
Функции
Они выполняют задачу для получения связанного выхода, включая вывод данных и глобальные функции .
| ||
Оповещение осторожно отображается с кнопкой OK | ||
Подтверждение () | Отображение окна сообщения с параметрами ОК / Отмена | |
Console.log () | Записывает информацию в браузер | |
Document.write () | Написать непосредственно в HTML-документ | |
| всплывающее ящик, который нуждается в входе пользователя | |
декодирует равномерный идентификатор ресурсов (URI), созданный encodeuri | ||
декодеурологиком () | декодирует URI компонент | |
encodeURI() | Кодирует URI в UTF-8 | |
| ||
Encodeuricomponent () |
| кодирует URI с использованием номеров для представления букв |
EVAL () | оценивает код JavaScript, представленный как строка | |
ISFINITE () | Определяет, является ли пропущенное значение конечным номером |
|
Определяет, является ли значение NAN или не | ||
номер () | Возвращает номер, преобразованный из своего аргумента | |
|
|
|
Parсент () | разрабатывает свой аргумент и возврат целое число |
Петли
Th Это происходит до тех пор, пока не будут выполнены определенные условия.
для | самый распространенный способ создать цикл в JavaScript | |
, а | настраивает условия для петлей | |
Пока | проверяет еще раз посмотреть цикл, если выполняются условия |
Операторы If - Else
Они предназначены для запуска блоков кода при соблюдении определенных условий.
IF (Состояние) {//} | Если условие выполняется сделать это |
} ell {//} | , если состояние не met do this |
Строки
Они хранят текст и включают escape-символы и строковые методы.
\» | Одинарная кавычка | |
\» | Двойная кавычка | |
| \\
| Backslash |
\ B |
| |
\ F |
| |
Newline | ||
\ t |
|
|
\ V
|
| |
Возвращает персонаж в указанной позиции | ||
charCodeAt () | дает вам Unicode персонажа в указанной позиции | |
присоединения к нескольким строкам вместе | ||
4 | из Charcode () | преобразует UTF-16 Значения Unicode к персонажам |
INDEXOF INDEXOF () 9202 |
| Возвращает положение первого вхождения указанного элемента | LASTINDEXOF () | Возвращает положение последнего возникновения Указанный элемент |
Match () | возвращает любые совпадения строки | |
заменить () | Найти и заменить конкретный текст | Поиск () | Ищет текст и возвращает его позицию 920 38 |
ломтик () | извлекивает раздел строки и возвращает его | |
Split () | разделяет строку в подстроки и возвращает его в указанном положении | |
субстра () | извлекивает строку и возвращает его в указанном положении | 4 | подстроки |
| , исключая негативные индексы, разбивает строку в подстроки и возвращает его в указанном положении | |
TOLOWERCACTA () | преобразовать в нижний регистр | 5
|
| 4 4 ValueOf () | Возвращает примитивное значение строки объект |
Регулярные выражения
Это шаблоны, включая модификаторы шаблонов, скобки, метасимволы и квантификаторы. abc]
Найти любой символ не в кронштейны
92 038[0-9]
используется для поиска любой цифры от 0 до
[AZ]
Найти любой символ из прописных a до нижнего Z
(a|b|c)
Найдите любой из вариантов, разделенных символом |
.
Найти один символ, кроме новой строки или линии терминатора
\ W
\ W
NonDework Hamse
\ D
Digit
\ D
\ D
\ S
Пробел
\ S
персонаж без пробела
\ B
Найти совпадение в начале / конец Word
\ B
Матч не в начале / конец слово
\0
Символ NUL
\ N
новой линии символ
\ F
\ F
\ F
\ R
Обратный персонаж
9202
\ T
вкладки
\ v
\ V
Характер, указанный восьмеричным номером XXX
\ xdd
Характер, указанный шестнадцатеричным числом DD
\ uxxxx
9202 \ uxxxx 9202 \ uxxxx8
8
4
N +
соответствует любой строке, содержащуюся в минимум один n
Числа и математика
Это математические функции, включая свойства чисел, числовые методы, математические свойства и математические методы.
MAX_VALUE | Максимальное числовое значение представима в JavaScript | ||
MIN_VALUE | Наименьший положительное числовое значение представима в JavaScript | ||
NaN | "Not-a number" Value | ||
| |||
| |||
| отрицательная бесконечность | ||
положительная бесконечность | |||
9202 | |||
9202 Toexponential () | Возвращает строку с закругленным числом, написанным как экспоненциальный обозначение | ||
TOFIXED () | Возвращает строку номера с указанным количеством десятичных средств | ||
TopRecision () | строка числа, написанные с указанной длиной | TOSTRING () | возвращает номер как строка |
ValueOf () | возвращает Номер как номер | ||
E |
| 5 ||
LN2 |
|
| |
Натуральный логарифм 10 | |||
LOG2E | База 2 логарифм E | ||
LOG10E | Основание 10 логарифм E | ||
ПИ | число ПИ | ||
SQRT1_2 | Квадратный корень из 1/2 | ||
SQRT2 |
|
|
|
Возвращает абсолютный (положительный) значение x |
Даты
К ним относятся конкретные моменты времени и включают установку дат, получение значений даты и времени, а также установку части даты.
Tan (x) 9202 | Тангенс угла 9202 | 4 | Дата () | создает новый объект Дата с текущей датой и временем |
Дата(2017, 5, 21, 3, 23, 10, 0) | Создайте пользовательский объект даты. Цифры обозначают год, месяц, день, час, минуты, секунды, миллисекунды. Вы можете опустить все, что хотите, кроме года и месяца. | |
Дата ("2017-06-23") | Дата Декларации в виде строки | |
Получить день месяца в виде ряда (1- 31) | ||
Йетдня ()
| в будний день как номер (0-6) | |
GetLyear () 9202 | год как четырехзначное число (ГГГГ) | |
GetHours () |
| |
Getmilliseconds () | Millisecond (0-999) | |
GetMinutes () | Получить минуту (0-59) | |
GetMonth () | месяц как номер (0-11) | |
GENTECOND () | GET T Он второй (0-59) | |
получая ()
| Получить миллисекунды с 1 января 1970 | |
9202 | ||
день (дата) месяца в указанная дата по всемирному времени (также доступно для дня, месяца, полного года, часов, минут и т. д.) | ||
PARSE 5
|
| разбирают строку представления даты и возвращает количество миллисекунд с 1 января 1970 |
SetDate () | Установить день в качестве номера (1-31) | |
Установленный () 9203 | наборы в год (дополнительно месяц и день) | |
Sethours () | набор (0-23) | |
SetMilliseconds () | набор миллисекунд (0-999) | |
9202 | ||
| Setmonth () | Установка месяца (0-11) |
setSeconds() | Установка секунд (0-59) | |
setTime() | Установить время (в миллисекундах с 1 января 1970 г.) день, месяц, полный год, часы, минуты и т. д.) |
Узел DOM
Это позволяет JavaScript обновлять веб-страницу и включать свойства узлов, методы узлов и методы элементов.
атрибуты | возвращает живую коллекцию всех атрибутов, зарегистрированных в и Element | Baseuri | обеспечивает абсолютный базовый URL-адрес HTML-элемента 4 | Childnodes | дает коллекцию дочерних узлов элемента | 4
| 9202 | возвращает первый ребенок узел элемента | ||||
Latchild | Последний узел дочернего ребенка Элемент | |||||||||||
Nextsibling 9202 | дает следующий узел на одном и том же узле дерева уровня | |||||||||||
Nodename | возвращает имя узла | |||||||||||
NodeType | Возвращает тип узла | |||||||||||
NODEVALUE |
|
|
|
| ||||||||
9034 |
| Объект документа верхнего уровня для этого узла 4 | Parentnode
| Возвращает родительский узел элемента | 9034 | Возвращает узел, непосредственно предшествующий текущий | 4 TextContent | Устанавливает или возвращает текстовое содержимое У узла и его потомков | ||||
AppendChild ()
|
| Добавляет новый узел ребенка в элемент как последний узел ребенка | ||||||||||
клоненод () | клонов HTML-элемент | |||||||||||
сравнитьDoc Uppleposition () | сравнивает позицию документа двух элементов | GetFeature () | Возвращает объект, который реализует API из указанной функции | |||||||||
Hasattributes () | возвращает true Вставляет новый узел ребенка до указанного, существующий узел ребенка | |||||||||||
| ||||||||||||
ISDefaultnamesnamespace () | Возвращает true, если указанный namespaceuri по умолчанию, в противном случае false | |||||||||||
Проверяет, равны ли два элемента | 9 2043||||||||||||
9202 | ISSAMENODE () | чеки, если два элемента один и тот же узел 4 | ||||||||||
| возвращает True, если указанная функция поддерживается на элементе | |||||||||||
LookUpnePaceuri () | Возвращает namespaceuri, связанные с данным узлом | LookupPrefix () | возвращает DOMSTRING, содержащий префикс для данного namespaceuri, если нынешние 4 |
| ||||||||
присоединения присоединения применных текстовых узлов и удаляет пустые текстовые узлы в элементе | Removechild () | удаляет узел ребенка из элемента | ||||||||||
REFERACECHILD () | заменяет дочерний узел в элементе | |||||||||||
GetAttribute () | Возвращает указанный атрибут значение элемента узел | GetAttributens () | возвращает строковое значение атрибута с указанным пространством имен и имя | |||||||||
Getattributenode () | получает указанный атрибут узел | |||||||||||
| ||||||||||||
| возвращает узел атрибута для атрибута с данным пространством имен и имени | |||||||||||
GetElementsBytagname () | Обеспечивает коллекцию всех дочерних элементов с указанным именем тега | |||||||||||
GetElementsBytaganmens () |
| Возвращает живую HTMLCollection из элементов с определенным именем тега, принадлежащего данному пространству имен | ||||||||||
Hasattribute () 9 0003 | Возвращает true, если элемент имеет какие-либо атрибуты, иначе false | |||||||||||
hasAttributeNS() | Предоставляет значение true/false, указывающее, имеет ли текущий элемент в данном пространстве имен указанный атрибут 3 | Removeattribute ()
| Удаление указанного атрибута из элемента | |||||||||
Removeattributens () | Удаляет указанный атрибут из элемента в определенном пространстве имен | |||||||||||
RemovEattributenode () | Узел узел указанного атрибута и возвращает удаленный узел | SetAttribute () | наборы или изменения указанного атрибута к указанному значению | 4 Setattributens () | Добавить С.А. Новый атрибут или меняет ценность атрибута с данным пространством имен и имя | 4 Setattributenode () | наборов или изменяет указанный атрибут Node | |||||
Setattributendens () | новый узел атрибута пространства имен для элемента |
События
Это обновления, вызванные кодом JavaScript, и включают мышь, клавиатуру, фрейм, форму, перетаскивание, буфер обмена, мультимедиа, анимацию и другие.
| |||
| Событие возникает, когда пользователь нажимает на элементе | ||
oncontextexmenu | пользователя Щелкните правой кнопкой мыши на элементе, чтобы открыть контекстное меню | ||
ondblclick |
|
|
| Пользователь нажимает кнопку мыши на элементе |
9202 | |||
Указатель Перемещается на элемент | |||
| |||
| Указатель выходит из элемента | OnMouseMove | Указатель движется пока он находится над элементом |
OnMouse | 9203 5 |||
onmouseout
|
| Пользователь перемещает указатель мыши из элемента или одного из его детей | |
OnMouseup | Пользователь выпускает кнопку мыши, пока над элементом | ||
, когда пользователь нажимает ключ вниз | |||
OnkeyPress | В тот момент, когда пользователь начинает нажать клавишу | ||
Onkeyup |
|
| |
|
| Загрузка средств массовой информации прервана | |
Onbeforeunload | Событие происходит до документа готовится к разгрузке | OnError 9202 | Ошибка возникает во время загрузки внешнего файла | 4
|
OnhashChange | Были изменения в якорной части URL | onload | , когда Объект загрузок |
| |||
| пользователь навигации от веб-страницы |
| |
| , когда пользователь навигации на веб-странице | onresize | Документ просмотра резовизации |
| |||
|
|
| Событие возникает, когда страница не загружается |
onblur |
| Когда элемент теряет фокус | |
| |||
|
| Содержание изменений элементов формы (для <ввода>, | |
onfocus | Элемент получает фокус | ||
onfocusin 9202 onfocusin | , когда элемент собирается получить фокус | ||
Onfocusout | Элемент собирается потерять фокус | ||
Oninput | пользовательский ввод на элемент | ||
| |||
| onReset | onsearch | пользователь пишет что-то в поле поиска (для ) |
onselect | Пользователь выбирает какой-нибудь текст (для and | ||
onsubmit | Форма представлена | ||
ondrag | Элемент перетаскивается | ||
| |||
Пользователь заканчивают перетаскивание Element | |||
| |||
Перетаскиваемый элемент входит в падение цели | |||
OnDragLeave | перетаскиваемый элемент оставляет падение цели | ||
| |||
| , | ||
ondragstart | пользователь начинает перетаскивать элемент | ||
на Drop | Вытаскиваемый элемент упал на The Drop Target | ||
oncopy |
|
| OnCut
| Пользователь сокращает контент элемента |
OnPaste
|
|
| |
4 |
|
| |
OncanPlay | Браузер может начать играть в носитель (E .грамм. Файл был достаточно буферизовал) | ||
| |||
| , когда браузер может играть через Media, не остановка | ondurationchange | Продолжительность изменений в среду 4 | 4 |
| СМИ достиг своего конца |
| |||
9038 | происходит, когда ошибка возникает во время загрузки внешнего файла | ||
onLoadedData | мультимедийные данные загружены 4 | onloadedmettadata | Meta Metadata (например, размеры и продолжительность) загружены |
| |||
|
| ||
OnPause | 9 0002 СМИ приостанавливают либо пользователем или автоматически | OnPlay | СМИ были запущены или больше не приостановлены | 4 onPlaying | СМИ играют после того, как были приостановлены или Остановил для буферизации |
| |||
| браузер
| ||
OnRatechange | Игровая скорость игры СМИ Изменяет 4 | Onseeked | Пользователь закончен перемещение / пропуская на новую позицию в Media | 4
Onseeking | пользователь начинает двигаться / пропустить | ||
браузер пытается загрузить СМИ, но он недоступен e | |||
onsuspend | Браузер намеренно не загружает медиафайлы | ||
ontimeupdate | |||
onvolumeChange onvolumeChange | Media Gome изменился (включая нему MUTE) | ||
Onwaiting | СМИ приостановлено, но ожидается, что чтобы возобновить (например, буферизацию) | ||
animationend | CSS-анимация завершена | ||
animationiteration | CSS анимация повторяется | ||
animationstart | CSS анимация начал | ||
transitionend | Уволен, когда переход CSS был завершен |
OnMessage | Сообщение получено через источник события | ||
Onoffline ONOFFLINE | браузер начинает работать в автономном режиме | Ononline |
|
|
| |||
OnPopState | при изменении истории окна | ||
onshow |
| an <меню> Элемент отображается как контекстное меню | |
onstorage | Обновление веб-хранилища обновляется | ||
Ontoggle | Пользователь открывается Или закрывает | ||
|
| колесо мыши вверх или вниз над элементом | |
Ontouchcancel | экран Touch прерывается | ||
Ontouchend 9203 8 | Палец пользователя удален с сенсорного экрана | ||
| |||
| |||
OntouchStart | палец размещен на сенсорном экране 4 | ||
попробуйте | позволяет определить блок код для тестирования на ошибки |
|
| Настройка блока кода для выполнения в случае ошибки | 4 бросок | Создание пользовательских сообщений об ошибках вместо стандартных ошибок JavaScript |
Наконец | позволяет выполнить код, после попытки поймать, независимо от результата |
наборы или возвращает имя ошибки | |
Message | наборы или возвращает сообщение об ошибке в строке из | ||
EvalError | ошибка произошла в функции Eval () | ||
rangeError | a ряд «Вне диапазона» | ||
| |||
| |||
|
| ||
SyntaxaxError | Синтаксис ошибка произошла | ||
TypeError | Ошибка произошла | ||
| |||
| 8 |
|
Закрыто | Проверяет, было ли окно закрытый или нет ND возвращает true или false | ||
| |||
| Устанавливает текст по умолчанию в строке состояния окна | Документ | Возвращает объект документа для окна |
Рамки 5
Возвращает все | История | 9202 | предоставляет объект истории для окна |
Innerheight | Внутренняя высота Окна содержимого окна | ||
| |||
| |||
|
| длина | Узнайте количество элементов |
адрес | Возвращает объект местоположения для окна | ||
4 |
|
|
| Навигатор | 9202 Возвращает объект навигатора для окна |
opener | Возвращает ссылку на окно, созданное окно | 4 | Exportheight | Внешняя высота окна, включая панели инструментов / прокрутку |
Superwidth | Внешняя ширина окна, включая панели инструментов / прокрутки | ||
PageXOffset
| Количество пикселей Текущий документ был прокручивается горизонтально | ||
Pageyoffset | Количество пикселей Документ был СК Рулон вертикально | ||
родитель |
|
| Возвращает объект экрана для окна | 4 Screenleft | Горизонтальная координата окна (относительно экрана) |
| |||
Screentop | вертикальная координата окна | ScreenX | же, что и ScreenLet, но необходимо для некоторых браузеров |
Screeny | Screeny | же как скринген, но нужно для некоторых браузеров | Self | статус | Устанавливает или возвращает текст в статусе S Bar окна |
Top | Возвращает верхнее окно браузера | ||
Alert () | Отображает бдительную коробку с сообщением и кнопкой OK 4 | ||
Blur () | удаляет фокус из текущего окна | ClearInterval () | очищает таймер набор с setinterval () |
Clearimeout () | очищает Таймер набор с SettimeOut () | ||
| |||
| Закрывает текущее окно | ||
Отображение диалогового окна с сообщением и кнопкой OK и Отмена | |||
focus() | Устанавливает фокус на текущее окно 90 003 | ||
Moveby () | перемещает окно относительно его текущая позиция | ||
| перемещает окно в указанную позицию | ||
Открыть () | открывает новый окно браузера | ||
| |||
| |||
Отпечатки содержимого текущего окна 4 | Подсказка () | отображает диалоговое окно, которое предлагает посетителю Для ввода | |
Resizeby ()
| размера | размеры на указанное количество пикселей | |
Resizeto () | размещает окно на указанную ширину и высоту | ||
scrollBy() | Прокручивает документ по указанному ed ряд пикселей | ||
Scrollto () | прокрутки документа к определенным координатам | ||
Setinterval () | вызывает функцию или оценивает выражение при указанных интервалах 4 | Settimeout () 9202 | вызывает функцию или оценивает выражение после указанного интервала | 4 | STOP () | останавливает окно от loading |
Mearthehet | возврат Высота экрана (без учета панели задач Windows) | ||
Наличие |
| Возвращает ширину экрана (исключая панель задач Windows) | |
Colordepth | возвращает битовую глубину цветовая палитра для отображения Ng Images | ||
Высота | Общая высота экрана | Pixeldepth | Разрешение цвета экрана в битах на пиксель | 4 ширина | Общая ширина экрана |
Полный список доступен в нашей загружаемой справочной таблице.
Как выявить проблемы с JavaScript
Ошибки JavaScript являются обычным явлением, и вы должны устранять их как можно скорее. Даже если ошибок кодирования нет, в вашем JavaScript могут быть проблемы, вызывающие медленную загрузку страниц, например неминифицированный JavaScript.
Вы можете выявить эти проблемы, выполнив аудит своего сайта. Сторонние инструменты, такие как инструмент аудита сайта, могут выявлять такие проблемы, как неминифицированный JavaScript и скорость сайта, чтобы вы могли работать над их исправлением.
Чтобы использовать инструмент Site Audit, вам необходимо создать проект для своего домена. Если у вас уже есть проект, созданный для вашего домена, читайте дальше, чтобы узнать, как настроить и запустить инструмент.
Начните с входа в свою учетную запись Semrush. Если у вас нет существующей учетной записи, вы можете создать бесплатную учетную запись. Просто помните, что аудит сайта предоставляет ограниченную функциональность для бесплатных учетных записей.
Когда вы войдете, выберите «Панель инструментов» в разделе «Управление», чтобы перейти на панель инструментов вашего проекта:
Если у вас уже есть проект, настроенный для вашего домена, вы увидите панель управления вашим проектом.Выберите карточку «Аудит сайта» в верхней части страницы:
После открытия инструмента вам нужно будет настроить параметры аудита, включая область сканирования, любые ограничения веб-сайтов и многое другое. Если вы довольны настройками, выберите «Начать аудит сайта:»
. После завершения аудита вы можете перейти на панель управления аудитом сайта для полного обзора вашего аудита. Перейдите на вкладку «Проблемы», чтобы просмотреть список проблем сайта.
Оттуда вы можете отфильтровать проблемы, связанные с неминифицированным JavaScript:
Хотя поисковые системы не могут отображать и видеть элементы JavaScript, исправление проблем, связанных с JS, таких как скорость страницы, может помочь вам повысить рейтинг в поисковых системах.
Заключительные мысли
JavaScript — это важный язык кодирования, который может помочь вам изменить внешний вид и функции ваших веб-страниц. Что еще более важно, хороший код JavaScript может помочь ранжированию вашего сайта, поддерживая или улучшая скорость загрузки страницы.
Используйте нашу шпаргалка выше, чтобы отслеживать наиболее распространенные команды JavaScript, и попробуйте сторонние инструменты, такие как аудит сайта, чтобы при необходимости оставаться в курсе вашего кода Javascript.
10 увлекательных шпаргалок по JavaScript для разработчиков и учащихся
JavaScript — один из самых популярных языков программирования.
По данным W3Techs, JavaScript используется 97,4% сайтов в Интернете в качестве клиентского языка программирования.
Разработанный в 1995 году, это язык сценариев высокого уровня, также известный как JS. JavaScript — это язык программирования с несколькими парадигмами, который поддерживает функциональные, императивные и событийно-ориентированные стили программирования. Кроме того, у него есть API для работы с текстом, структурами данных, регулярными выражениями и объектной моделью документа (DOM).
JavaScript используется в различных приложениях, таких как:
- Для загрузки содержимого веб-страницы через WebSocket или Ajax
- Игры в браузере, анимация веб-страниц
- Управление воспроизведением потокового мультимедиа
- Создание всплывающих окон, перенаправление страниц и многое другое
Популярными сайтами, использующими JavaScript, являются Google, YouTube, Facebook, Expedia, Overstock и другие.
Итак, если вы разработчик JavaScript, вы знаете, что такое упражнение, когда вы забываете какую-то концепцию во время программирования. Это потому, что практически невозможно запомнить все понятия, и когда вы застряли, вы пролистываете интернет-страницы или свою книгу рядом с собой. Это отнимает много времени и разочаровывает одновременно.
Но не беспокойтесь; мы придумали для вас 10 увлекательных шпаргалок по JavaScript. Они помогут разработчикам JavaScript и новичкам, изучающим язык.
Проверьте их!
Codecademy : Эта простая шпаргалка по JavaScript объясняет все с ясностью и синтаксисом. Он начинается с краткого введения, а затем охватывает такие темы, как условные операторы, функции, массивы, область видимости, циклы, объекты, итераторы, классы, модули, промисы, Async-Await, транспиляция браузера и совместимость, библиотеки, логические значения, экземпляры данных и многое другое. более.
SheCodes : Это хороший справочный список, содержащий строки JavaScript, переменные и другие важные атрибуты.Они включили синтаксис для каждого сегмента, который вы также можете скопировать и вставить в свой проект, чтобы еще больше упростить свою задачу. Он также охватывает операции с переменными, типы данных, структуры, предупреждения и подсказки, оператора if-else , массивы, циклы, числа, даты, объекты, функции, отладку, селекторы, события, AJAX и манипулирование элементами.
Читография : Это краткое руководство Дейва Чайлда доступно в Интернете, или вы можете загрузить его прямо с веб-сайта.Он включает в себя методы JavaScript, функции, регулярные выражения, объект XMLHttpRequest, модификаторы шаблонов, объекты RegEx, обработчики событий, массивы, логические значения, даты и строки. Вы можете обратиться к этому, если вы забыли некоторые функции и вам нужно быстро вспомнить.
HTMLcheatsheet.com : это золотая жила для разработчиков и кодеров, позволяющая заглянуть в некоторые концепции JavaScript. В нем обобщаются все основные, промежуточные и продвинутые концепции, а также приводится их синтаксис и примеры для лучшего понимания.Он охватывает такие темы, как скрипт на странице, как включать внешние файлы JavaScript, функции, редактирование элементов DOM, циклы, операторы if-else , переменные, типы данных, строки, события, числа и математику, даты, массивы, глобальные функции, регулярные выражения, ошибки, промисы и многое другое.
WebsiteSetup : На этом веб-сайте вы можете найти исчерпывающую шпаргалка по JavaScript в текстовом и PDF-форматах. Он охватывает такие понятия, как включение JavaScript на сайт, вызов внешних файлов JS, включая комментарии, переменные, типы данных, объекты, массивы, операторы, функции, циклы, строки, методы, выражения, квантификаторы, математику и числа, даты и время, Режим DOM, события, анимация, ошибки и многое другое.
Современный JavaScript : эта шпаргалка по JavaScript на GitHub поможет вам решить быстрые проблемы, возникающие в ваших проектах. Вы также можете найти некоторые рекомендации автора вместе с некоторыми дополнительными ресурсами, на которые вы можете ссылаться. Шпаргалка включает в себя такие понятия, как объявления переменных, стрелочные функции, параметры, уничтожение, методы массива, оператор распространения, промисы, литералы шаблонов, импорт/экспорт, классы, ключевые слова, Async Await, Truthy/falsy, генераторы, статические методы и анаморфизмы. .
OverAPI.com : вы можете добавить эту веб-страницу в закладки в своем браузере и возвращаться к ней всякий раз, когда у вас есть какие-то сомнения, потому что она будет напоминать вам об определенных ключевых аспектах, которые вам потребуются при работе с проектами JavaScript. Он охватывает основы JavaScript, такие как свойства и методы массива, логические свойства и методы, математические свойства и методы, строковые свойства и методы, события DOM, базовый DOM, узел DOM, RegExp, концепции браузера и графику.
Coding Ninjas : Если вы только начинаете изучать JavaScript или являетесь новым разработчиком, эта шпаргалка даст вам передышку, если вы что-то забыли во время программирования.Вы можете обратиться к нему, чтобы вспомнить типы данных, базовый словарь, объекты, функции, переменные и области видимости, операторы, принуждение, Истину/Ложь, создание переменных, циклы, атрибуты браузера, DOM, автоматически наследуемые свойства, встроенные объекты и т. д. обещать.
Ilovecoding.org : В этой 13-страничной шпаргалке по JavaScript есть все, что вы хотели бы обобщить в интерактивном режиме. Он проведет вас от концепций начального уровня к JavaScript продвинутого уровня с правильным синтаксисом, объяснением и терминологией.Самое приятное — вы можете скачать 13 страниц сразу или по отдельности. Он охватывает типы данных, объекты, базовый словарь, функции, операторы, принуждение, циклы, конструктор, ключевое слово this , ES6+, DOM API и многое другое.
Codepen : этот краткий справочник по JavaScript — еще одна полезная шпаргалка, в которой рассматриваются различные темы с примерами. Он включает в себя работу с DOM, функциями и JS. Вы можете узнать, как получить доступ к элементам DOM, захватить дочерние или родительские узлы, создать новый элемент DOM, добавить элементы, добавить/удалить/проверить/переключить классы, добавить/удалить элементы массива и свойства объектов, условные выражения, циклы, события и таймеры. .
Заключение
Я надеюсь, что приведенные выше шпаргалки по JavaScript помогут вам вспомнить некоторые ключевые понятия, необходимые при программировании. Просто загрузите их или добавьте в закладки в своем браузере и обращайтесь к ним всякий раз, когда чувствуете, что застряли.
16 полезных шпаргалок по JavaScript для разработчиков и студентов | Нирмани Варакаулла | CodeX
JavaScript — широко используемый язык программирования.
По данным W3Techs, JavaScript используется в качестве клиентского языка программирования компанией 97.4 процента веб-сайтов в Интернете.
Это язык сценариев высокого уровня, созданный в 1995 году и также известный как JS. JavaScript — это язык программирования с несколькими парадигмами, который можно использовать для написания кода в функциональном, императивном или событийно-ориентированном стилях. Он также включает API для работы с текстом, структурами данных, регулярными выражениями и объектной моделью документа (DOM).
JavaScript используется в различных приложениях, в том числе:
- WebSocket или Ajax используются для загрузки содержимого веб-страницы.
- 2. Браузерные игры, анимация веб-страниц.
- 3. Управление воспроизведением потокового мультимедиа.
- 4. Создание всплывающих окон, перенаправление страниц и другие функции.
- 5. Google, YouTube, Facebook, Expedia, Overstock и другие популярные сайты используют JavaScript.
Следовательно, когда вы разработчик JavaScript, вы знакомы со сценарием, когда вы забываете понятие во время работы. Это потому, что почти невозможно сохранить все принципы, и когда вы заблудитесь, вы закончите тем, что прокручиваете онлайн-страницы или свою книгу рядом с собой.Это отнимает много времени и усугубляет все одновременно.
Но тогда не волнуйтесь, мы подготовили для вас несколько интересных шпаргалок по JavaScript. Они помогут разработчикам JavaScript, а также новичкам, изучающим язык.
Осмотри их!
Codecademy : Эта простая шпаргалка по JavaScript охватывает все в деталях и синтаксисе. Он начинается с краткого введения, а затем углубляется в условные выражения, функции, массивы, область видимости, циклы, объекты, итераторы, классы, модули, промисы, Async-Await, транспиляцию и совместимость браузера, библиотеки, логические значения, экземпляры данных и многие другие темы. .
SheCodes : Это полезный справочный список, который включает строки JavaScript, переменные и другие важные свойства. Они предоставили синтаксис для каждой части, который вы также можете скопировать и вставить в свой проект, чтобы упростить задачу. Охвачены переменные, типы данных, структуры, сигналы тревоги и подсказки, операторы if-else, массивы, циклы, числа, даты, объекты, функции, отладка, селекторы, события, AJAX и манипулирование элементами.
Читография : Краткий справочник Дэйва Чайлда доступен в Интернете, или вы можете загрузить его непосредственно с веб-сайта.Включены методы JavaScript, функции, регулярные выражения, объект XMLHttpRequest, модификаторы шаблонов, объекты RegEx, обработчики событий, массивы, логические значения, даты и строки. Это полезно, если вы забыли какие-то функции и вам нужно быстро их вспомнить.
Cheatography — JavaScript CheetSheetHTMLcheatsheet.com : Это действительно ценный ресурс для разработчиков и программистов, желающих получить преимущество в изучении определенных принципов JavaScript. В нем описаны все основные, промежуточные и продвинутые принципы, а также систематизирован их синтаксис и примеры для облегчения понимания.Сценарии на странице, включая внешние файлы JavaScript, функции, управление элементами DOM, циклы, операторы if-else, переменные, типы данных, строки, события, числа и математические операции, даты, массивы, глобальные функции, регулярные выражения, ошибки, обещания, и многое другое.
WebsiteSetup : На этом веб-сайте вы можете получить полную шпаргалку по JavaScript в текстовой и PDF-формах. Он охватывает такие темы, как включение JavaScript на сайт, вызов внешних файлов JS, включая комментарии, переменные, типы данных, объекты, массивы, операторы, функции, циклы, строки, методы, выражения, квантификаторы, арифметику и числа, даты и время, Режим DOM, события, анимация, ошибки и многое другое.
Современный JavaScript : Эта шпаргалка по JavaScript на GitHub может помочь вам быстро справиться с трудностями, возникающими в ваших проектах. Вы также найдете некоторые рекомендации автора, а также некоторые другие ресурсы, на которые вы можете сослаться. Объявления переменных, стрелочные функции, аргументы, уничтожение, методы массива, операторы распространения, промисы, литералы шаблонов, импорт/экспорт, классы, ключевые слова, Async Await, Truthy/falsy, генераторы, статические методы и анаморфизмы — все это описано в шпаргалке. .
OverAPI.com : Вы можете сохранить эту страницу в своем браузере и вернуться к ней в любое время, когда у вас возникнут сомнения, поскольку она напомнит вам о некоторых важных функциях, которые вам понадобятся при работе над проектами JavaScript. Он охватывает основы JavaScript, такие как свойства и методы массива, логические свойства и методы, математические свойства и методы, строковые свойства и методы, события DOM, базовый DOM, узел DOM, RegExp, принципы браузера и графику.
Coding Ninjas : Если вы только начинаете работать с JavaScript или являетесь новым разработчиком, эта шпаргалка пригодится, когда вы что-то забудете при написании.Это может помочь вам запомнить типы данных, фундаментальную терминологию, объекты, функции, переменные и области видимости, операторы, принуждение, истинность/ложность, генерирующие переменные, циклы, атрибуты браузера, DOM, автоматически наследуемые свойства, встроенные объекты и промисы.
Ilovecoding.org : Эта шпаргалка по JavaScript на 13 страницах содержит все необходимое для интерактивного понимания JavaScript. Он проведет вас от базовых идей к сложному JavaScript с соответствующим синтаксисом, пояснениями и словарным запасом.Самое приятное то, что вы можете скачать все 13 страниц сразу или по отдельности. Он проходит через типы данных, объекты, базовый словарь, функции, операторы, приведение, циклы, конструкторы, это ключевое слово, ES6+, DOM API и другие темы.
Codepen : Еще одна полезная шпаргалка — это краткий справочник по JavaScript, который охватывает множество тем с примерами. Работа с DOM, функциями и JS — все это часть этого. Вы можете узнать, как получить доступ к элементам DOM, захватить дочерние или родительские узлы, создать новый элемент DOM, добавить элементы, добавить/удалить/проверить/переключить классы, добавить/удалить элементы массива и атрибуты объектов, условные выражения, циклы, события и таймеры. , и многое другое.
Vanilla JavaScript : Библиотека методов JavaScript, вспомогательных функций, плагинов, шаблонов, полифилов и учебных материалов.
Памятка Node.js : Памятка описывает значение каждого кода, чтобы вы знали, что они делают, прежде чем использовать их. Включены консоль, таймер, модуль, процесс, события, утилита и другие функции.
Reactcheatsheet.com : Веб-сайт подробно объясняет React, включая примеры кода.Чтение документации по каждому методу даст вам полное представление о языке и функциях.
Интерактивная шпаргалка по JavaScript для ES6, ES2016 и ES2017 : Похоже, это интерактивная шпаргалка для ES6, ES2016 и ES2017. Они представляют серию примеров для демонстрации ключевых компонентов текущего JavaScript. Весь код можно модифицировать и запустить, так что вы можете экспериментировать столько, сколько хотите.
Краткий справочник по JavaScript : Независимо от того, имеете ли вы дело с DOM, JS или функциями, эта шпаргалка описывает цель метода.
JavaScript In One Picture : Цель этой карты разума — помочь программистам получить общее представление о языке, а также облегчить локализацию и выявление синтаксических тонкостей.
. |
Имеет одно из следующих значений:
|
\д |
Соответствует любой цифре (арабской цифре). Эквивалентно |
|
Соответствует любому буквенно-цифровому символу основного латинского алфавита,
включая подчеркивание. Эквивалентно |
\ Вт |
Соответствует любому символу, который не является символом слова из основного Латинский алфавит.A-Za-z0-9_]/ соответствует "%" в «50%». |
|
Соответствует одному символу пробела, включая пробел, табуляцию, форму
перевод строки, перевод строки и другие пробелы Unicode. Эквивалентно
|
\С |
Соответствует одному символу, кроме пробела.\f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff] . Например, |
\т |
Соответствует горизонтальной вкладке. |
\r |
Соответствует возврату каретки. |
\n |
Соответствует переводу строки. |
\v |
Соответствует вертикальной вкладке. |
\ф |
Соответствует переводу страницы. |
[\b] |
Соответствует возврату. Если вы ищете символ границы слова
(\b ), см.
Границы.
|
\0 |
Соответствует символу NUL. Не используйте после этого другую цифру. |
\с Х |
Соответствует управляющему символу, используя
нотация вставки, где «X» — буква от A до Z (соответствует кодовым точкам
|
\х чч |
Соответствует символу с кодом чч (два
шестнадцатеричные цифры).
|
\и чххх |
Сопоставляет кодовую единицу UTF-16 со значением
чччч (четыре шестнадцатеричных цифры).
|
\u {hhhh} или \u{hhhhh} |
(Только когда установлен флаг u .) Соответствует символу с
значение Юникода U+ чччч или U+ ччччч
(шестнадцатеричные цифры).
|
\ |
Указывает, что следующий символ следует обрабатывать особым образом, или "сбежал". Он ведет себя одним из двух способов.
Обратите внимание, что некоторые символы, такие как
Примечание: Чтобы буквально сопоставить этот символ, экранируйте его.
с собой. Другими словами для поиска |
Введение в JS_ Javascript — Памятка по JavaScript — Памятка по основам JavaScript для начинающих
Памятка по основам для начинающих
Памятка по Javascript
Язык Интернета.
* Содержание *
- Основы Javascript
- Переменные
- Массивы
- Операторы
- Функции
- Петли
- Операторы If-Else
- Струны
- Регулярные выражения
- Числа и математика
- Работа с датами
- ДОМ Узел
- Работа с браузером
- События
- Ошибки
переменная а = "инициализация" Текст (строки)
переменная b = 1 + 2 + 3 Операции
переменная c = истина Верные или ложные утверждения
const PI = 3.Постоянные числа
var name = {firstName:"John", lastName:"Doe"} Объекты
Объекты вар человек = { Имя: "Джон", фамилия: "Доу", возраст: 20, национальность: "немец" };
* Массивы *
var fruit = ["Банан", "Яблоко", "Груша"];
Методы массива конкат() Объединить несколько массивов в один
indexOf() Возвращает первую позицию, в которой данный элемент появляется в массиве
join() Объединить элементы массива в одну строку и вернуть строку
lastIndexOf() Дает последнюю позицию, в которой данный элемент появляется в массиве
pop() Удаляет последний элемент массива
push() Добавить новый элемент в конце
reverse() Обратный порядок элементов в массиве
shift() Удалить первый элемент массива
slice() Извлекает копию части массива в новый массив из 4 24
sort() Сортирует элементы по алфавиту
splice() Добавляет элементы указанным образом и в позицию
toString() Преобразует элементы в строки
unshift() Добавляет новый элемент в начало
valueOf() Возвращает примитивное значение указанного объекта
* Операторы *
Базовые операторы
- Дополнение
- Вычитание
- Умножение / Разделение (..) Оператор группировки % Модуль (остаток)
документ() Запись непосредственно в HTML-документ
prompt() Создает диалог для пользовательского ввода
Глобальные функции декодироватьURI() Декодирует универсальный идентификатор ресурса (URI), созданный encodeURI или аналогичным
decodeURIComponent() Декодирует компонент URI
encodeURI() Кодирует URI в UTF-8
encodeURIComponent() То же, но для компонентов URI
eval() Оценивает код JavaScript, представленный в виде строки
isFinite() Определяет, является ли переданное значение конечным числом
isNaN() Определяет, является ли значение NaN или нет
Number() Возвращает число, преобразованное из его аргумента
parseFloat() Разбирает аргумент и возвращает число с плавающей запятой
parseInt() Анализирует свой аргумент и возвращает целое число
* Циклы *
for (перед циклом; условие цикла; выполнение после цикла) { // что делать во время цикла } для Самый распространенный способ создать цикл в Javascript
при Устанавливает условия, при которых выполняется цикл
do while Однако, подобно циклу while, он выполняется хотя бы один раз и в конце выполняет проверку посмотреть, выполнено ли условие для повторного выполнения
break Используется для остановки и выхода из цикла при определенных условиях
продолжение Пропускать части цикла, если выполняются определенные условия из 7 24
* If - Else Statements *
if (условие) { // что делать, если условие выполнено } еще { // что делать, если условие не выполнено }
* Строки *
var person = "John Doe";
Экранирующие символы ' — Одинарная кавычка " — Двойная кавычка \ — обратная косая черта \b — Возврат \f — Подача формы \n — Новая строка \r — Возврат каретки \t — Горизонтальный табулятор
Преобразование строк в нижний регистр
toUpperCase() Преобразование строк в верхний регистр
valueOf() Возвращает примитивное значение (не имеющее свойств или методов) строкового объекта
* Регулярные выражения *
Модификаторы шаблонов e — Оценить замену i — выполнить сопоставление без учета регистра g — Выполните глобальное сопоставление m — Выполните сопоставление нескольких строк s — обрабатывать строки как одну строку x — Разрешить комментарии и пробелы в шаблоне U — Нежадный шаблон
Кронштейны [abc] Найти любой из символов в скобках [^abc] Найти любой символ, не указанный в скобках [0-9] Используется для поиска любой цифры от 0 до 9 [A-z] Найти любой символ от прописной A до строчной z (a|b|c) Найдите любую из альтернатив, разделенных символом |
Метасимволы .— Найти один символ, кроме символа новой строки или конца строки \w — символ слова \W — Символ, не являющийся словом \d — цифра \D — нецифровой символ \s — Пробельный символ \S — непробельный символ \b — найти совпадение в начале/конце слова \B — совпадение не в начале/конце слова \0 — нулевой символ \n — символ новой строки \f — Символ подачи формы \r — Символ возврата каретки \t — символ табуляции \v — Символ вертикальной табуляции
\xxx — Символ, определяемый восьмеричным числом xxx \xdd — Символ, заданный шестнадцатеричным числом dd \uxxxx — символ Unicode, заданный шестнадцатеричным числом xxxx
Квантификаторы n+ — соответствует любой строке, содержащей хотя бы один n n* — Любая строка, содержащая ноль или более вхождений n н? — Строка, содержащая ноль или одно вхождение n n{X} — Строка, содержащая последовательность X n n{X,Y} — Строки, содержащие последовательность от X до Y n. n{X,} — соответствует любой строке, содержащей последовательность не менее X n n$ — Любая строка с n в конце ^n — Строка с n в начале ?=n — Любая строка, за которой следует определенная строка n ?!n — Строка, за которой не следует конкретная строка n
* Числа и математика *
Свойства чисел MAX_VALUE Максимальное числовое значение, которое может быть представлено в JavaScript
MIN_VALUE Наименьшее положительное числовое значение, представленное в JavaScript
NaN Значение «не число»
NEGATIVE_INFINITY Отрицательное значение бесконечности
POSITIVE_INFINITY Положительное бесконечное значение
Числовые методы toExponential() Возвращает строку с округленным числом, записанным в экспоненциальной записи
toFixed() Возвращает строку числа с указанным количеством десятичных знаков
exp(x) Значение Ex
этаж(x) Значение x, округленное в меньшую сторону до ближайшего целого числа
log(x) Натуральный логарифм (по основанию E) x
max(x,y,z,...,н) Возвращает число с наибольшим значением
min(x,y,z,...,n) То же самое для числа с наименьшим значением
pow(x,y) X в степени y
random() Возвращает случайное число от 0 до 1
round(x) Значение x, округленное до ближайшего целого числа
sin(x) Синус x (x в радианах)
sqrt(x) Квадратный корень из x
tan(x) Тангенс угла
* Работа с датами *
Установка дат Дата() Создает новый объект даты с текущей датой и временем
Дата (2017, 5, 21, 3, 23, 10, 0) Создайте пользовательский объект даты.Цифры обозначают год, месяц, день, час, минуты, секунды, миллисекунды. Вы можете опустить все, что хотите, кроме года и месяца.
Дата ("2017-06-23") Объявление даты в виде строки
Извлечение значений даты и времени получитьдату() Получить день месяца в виде числа (1-31)
getDay() День недели в виде числа (0-6)
getFullYear() Год в виде четырехзначного числа (гггг)
getHours() Получить час (0-23)
getMilliseconds() Миллисекунда (0-999)
getMinutes() Получить минуты (0-59)
getMonth() Месяц в виде числа (0-11)
getSeconds() Получить второй (0-59)
getTime() Получить миллисекунды с 1 января 1970 года
getUTCDate() День (число) месяца в указанную дату по всемирному времени (также доступно для день, месяц, полный год, часы, минуты и т. д.)
разбор Анализирует строковое представление даты и возвращает количество миллисекунд, прошедших с января. 1, 1970
первый ребенок Возвращает первый дочерний узел элемента
lastChild Последний дочерний узел элемента
nextSibling Дает вам следующий узел на том же уровне дерева узлов
nodeName Возвращает имя узла
nodeType Возвращает тип узла
nodeValue Задает или возвращает значение узла
ownerDocument Объект документа верхнего уровня для этого узла
parentNode Возвращает родительский узел элемента
previousSibling Возвращает узел, непосредственно предшествующий текущему
textContent Задает или возвращает текстовое содержимое узла и его потомков
Методы узла добавить дочерний элемент () Добавляет новый дочерний узел к элементу в качестве последнего дочернего узла
cloneNode() Клонирует элемент HTML
compareDocumentPosition() Сравнивает позицию документа двух элементов
getFeature() Возвращает объект, который реализует API указанной функции
hasAttributes() Возвращает true, если у элемента есть атрибуты, иначе false
hasChildNodes() Возвращает true, если у элемента есть дочерние узлы, иначе false
insertBefore() Вставляет новый дочерний узел перед указанным существующим дочерним узлом
isDefaultNamespace() Возвращает true, если указанный namespaceURI является значением по умолчанию, иначе false
isEqualNode() Проверяет, равны ли два элемента
isSameNode() Проверяет, являются ли два элемента одним и тем же узлом
isSupported() Возвращает true, если указанная функция поддерживается элементом
lookupNamespaceURI() Возвращает namespaceURI, связанный с данным узлом
lookupPrefix() Возвращает DOMString, содержащую префикс для данного namespaceURI, если он присутствует
normalize() Соединяет соседние текстовые узлы и удаляет пустые текстовые узлы в элементе
removeChild() Удаляет дочерний узел из элемента
replaceChild() Заменяет дочерний узел в элементе
Методы элемента получить атрибут() Возвращает указанное значение атрибута узла элемента
getAttributeNS() Возвращает строковое значение атрибута с указанным пространством имен и именем
* Работа с браузером *
Свойства окна закрыто Проверяет, было ли окно закрыто или нет, и возвращает true или false
defaultStatus Задает или возвращает текст по умолчанию в строке состояния окна
документа Возвращает объект документа для окна
кадра Возвращает все элементы
истории Предоставляет объект History для окна
innerHeight Внутренняя высота области содержимого окна
innerWidth Внутренняя ширина области содержимого
длинаУзнать количество элементов
Возвращает объект местоположения для имени окна
Задает или возвращает имя навигатора окна
Возвращает объект Navigator для открывателя окна
Возвращает ссылку на окно, создавшее окно
externalHeight Внешняя высота окна, включая панели инструментов/полосы прокрутки
externalWidth Внешняя ширина окна, включая панели инструментов/полосы прокрутки
pageXOffset Количество пикселей, на которое текущий документ был прокручен по горизонтали
pageYOffset Количество пикселей, на которое документ был прокручен по вертикали
родитель Родительское окно текущего окна
экран Возвращает объект Screen для окна
screenLeft Горизонтальная координата окна (относительно экрана)
screenTop Вертикальная координата окна
screenX То же, что screenLeft, но требуется для некоторых браузеров
screenY То же, что screenTop, но требуется для некоторых браузеров
self Возвращает текущий статус окна
Задает или возвращает текст в строке состояния окна
вверх Возвращает самое верхнее окно браузера
Window Methods тревога() Отображает окно предупреждения с сообщением и кнопкой OK
blur() Убирает фокус с текущего окна
Шпаргалка по современному JavaScript
То, чего вы не знаете, могло бы стать отличной книгой.
Мы теряемся в книгах. Мы тоже там оказываемся.
Если бы всех экономистов сложить встык, они бы никогда не пришли к выводу.
Хороший роман рассказывает правду о своем герое; но плохой роман говорит нам правду о своем авторе.
Я эгоистичен, нетерпелив и немного не уверен в себе. Я делаю ошибки, я теряю контроль, и иногда мне трудно совладать. Но если ты не можешь справиться со мной в худшем случае, то ты, черт возьми, не заслуживаешь меня в моем лучшем виде.
Если убрать пятнадцать лучших решений, у нас будет довольно средний результат.Это была не гиперактивность, а чертовски много терпения. Вы придерживались своих принципов, и когда представились возможности, вы энергично набросились на них.
Единственное, что важно в книге, это то значение, которое она имеет для вас.
.Когда люди боятся голодать и платить по ипотечным кредитам, начинает преобладать модель дефицита; они боятся, что кто-то другой получит их кусок пирога.