recursal/MDN huggingface dataset:
Storage.removeItem()
====================

Если методу `removeItem()` интерфейса `Storage` передать ключ, то из хранилища будет удалён элемент с указанным ключом.

Синтаксис
---------
```

storage.removeItem(keyName);
```

### Параметры

***название Ключа***

`DOMString` содержит в себе название ключа.

### Возвращает

*Метод не возвращает значений.*

Пример
------

Следующая функция создаёт три элемента внутри локального хранилища и потом удаляет элемент с ключом *image*.


```js
function populateStorage() {
  localStorage.setItem("bgcolor", "red");
  localStorage.setItem("font", "Helvetica");
  localStorage.setItem("image", "myCat.png");

  localStorage.removeItem("image");
}
```


> 
> \*\*Примечание:\*\*чтобы увидеть использование этой функции на реальном примере, загляните в Web Storage Demo.
> 
> 
> 

Спецификации
------------

| Specification |
| --- |
| HTML Standard # dom-storage-removeitem-dev |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

Using the Web Storage API
Storage.key()
=============

Метод **`key()`** интерфейса `Storage` получает числовое значение n и возвращает имя n-ого ключа из данного объекта `Storage`. Порядок ключей зависит от реализации браузера, поэтому лучше не полагаться на него.

Syntax
------


```js
var aKeyName = storage.key(index);
```

### Параметры

`index`

Целочисленное значение, представляющее номер ключа, имя которого нужно получить. Индексация начинается с нуля.

### Возвращаемое значение

`DOMString` с именем ключа. Если этот индекс не найден, вернётся `null`.

Примеры
-------

Следующая функция перебирает все ключи из локального хранилища:


```js
function forEachKey(callback) {
  for (var i = 0; i < localStorage.length; i++) {
    callback(localStorage.key(i));
  }
}
```


Следующая функция перебирает все ключи из локального хранилища и получает значение по каждому из них:


```js
for (var i = 0; i < localStorage.length; i++) {
  console.log(localStorage.getItem(localStorage.key(i)));
}
```


**Примечание:** более реалистичный пример использования функции показан на странице Web Storage Demo.

Спецификации
------------

| Specification |
| --- |
| HTML Standard # dom-storage-key-dev |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* Использование Web Storage API
Storage.setItem()
=================

Если методу setItem() интерфейса `Storage` передать ключ и значение, то в хранилище будет добавлено соответствующее ключу значение, либо, если запись уже есть в хранилище, то значение по ключу будет обновлено.

Синтаксис
---------
```

storage.setItem(название Ключа, значение Ключа);
```

### Параметры

*название Ключа*

Является строкой `DOMString` содержащей название ключа, значение которого будет добавлено/обновлено.

*значение Ключа*

Является строкой `DOMString` содержащей значение ключа, которое будет добавлено/обновлено.

### Возвращаемые значения

*Метод не возвращает значений.*

Пример
------

Следующая функция создаёт три элемента с данными в хранилище.


```js
function populateStorage() {
  localStorage.setItem("bgcolor", "red");
  localStorage.setItem("font", "Helvetica");
  localStorage.setItem("image", "myCat.png");
}
```


**Примечание:** Чтобы вживую посмотреть на работу функции, посетите страницу демонстрации Web Storage.

Спецификации
------------

| Specification |
| --- |
| HTML Standard # dom-storage-setitem-dev |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

Использование Web Storage API
Storage.getItem()
=================

Если в метод `getItem()` интерфейса `Storage` передать ключ в качестве параметра, то метод вернёт значение, лежащее в хранилище по указанному ключу.

Синтаксис
---------
```

var aValue = storage.getItem(название Ключа);
```

### Параметры

*название Ключа*

Является строкой `DOMString`, содержащей название ключа, по которому получается значение из хранилища.

### Возвращаемые значения

Является строкой `DOMString`, содержащей значение для соответствующего ключа. Если ключ не существует, то будет возвращено значение `null`.

Пример
------

Следующая функция получает 3 значения из локального хранилища, после этого они используются для установки стилей на странице.


```js
function setStyles() {
  var currentColor = localStorage.getItem("bgcolor");
  var currentFont = localStorage.getItem("font");
  var currentImage = localStorage.getItem("image");

  document.getElementById("bgcolor").value = currentColor;
  document.getElementById("font").value = currentFont;
  document.getElementById("image").value = currentImage;

  htmlElem.style.backgroundColor = "#" + currentColor;
  pElem.style.fontFamily = currentFont;
  imgElem.setAttribute("src", currentImage);
}
```


**Примечание:** Чтобы вживую посмотреть на работу функции, посетите страницу демонстрации Web Storage.

Спецификации
------------

| Specification |
| --- |
| HTML Standard # dom-storage-getitem-dev |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

Using the Web Storage API
Storage.clear()
===============

Метод `clear()` интерфейса `Storage` удалит все значения из хранилища.

Синтаксис
---------


```js
storage.clear();
```

### Параметры

*Метод не принимает параметры.*

### Возвращаемое значение

*Метод не возвращает значение.*

Пример
------

Следующая функция создаёт 3 записи в локальном хранилище, после этого все значения удаляются с помощью метода `clear()`.


```js
function populateStorage() {
  localStorage.setItem("bgcolor", "red");
  localStorage.setItem("font", "Helvetica");
  localStorage.setItem("image", "myCat.png");

  localStorage.clear();
}
```


**Примечание:** Чтобы вживую посмотреть на работу функции, посетите страницу демонстрации Web Storage.

Спецификации
------------

| Specification |
| --- |
| HTML Standard # dom-storage-clear-dev |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

Using the Web Storage API
Storage.length
==============

Свойство length интерфейса `Storage` доступно только для чтения и возвращает число с количеством элементов, которые хранятся в объекте Storage на данный момент.

Синтаксис
---------
```

var aLength = storage.length;
```

### Возвращаемые значения

Число

Пример
------

Следующая функция добавляет три элемента с данными в локальное хранилище для домена, на котором выполняется код и возвращает число элементов в хранилище:


```js
function populateStorage() {
  localStorage.setItem("bgcolor", "yellow");
  localStorage.setItem("font", "Helvetica");
  localStorage.setItem("image", "cats.png");

  localStorage.length; // return 3
}
```


**Примечание:** чтобы посмотреть выполнение кода вживую, посетите страницу Web Storage Demo.

Спецификации
------------

| Specification |
| --- |
| HTML Standard # dom-storage-length-dev |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

Использование Web Storage API
FormData.has()
==============

Метод **`has()`** из интерфейса `FormData` возвращает логическое значение, указывающее, содержит ли объект `FormData` указанный ключ.

**Примечание:** Примечание: Этот метод доступен в Web Workers.

Синтаксис
---------


```js
formData.has(name);
```

### Параметры

`name`

`USVString` (en-US) представляет собой имя ключа, которое вы хотите проверить.

### Возвращаемое значение

`Boolean` (en-US).

Пример
------

Следующий код создаёт пустой объект `FormData`:


```js
var formData = new FormData();
```


В следующем коде показаны результаты проверки существования `username` в объекте `FormData`, до и после добавления значения `username` в `FormData.append`:


```js
formData.has("username"); // Returns false
formData.append("username", "Chris");
formData.has("username"); // Returns true
```

Спецификация
------------

| Specification |
| --- |
| XMLHttpRequest Standard # dom-formdata-has |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `XMLHTTPRequest`
* Использование XMLHttpRequest (en-US)
* Использование объекта FormData (en-US)
* `<form>`
FormData.values()
=================

The **`FormData.values()`** метод возвращает `iterator` позволяя пройтись по всем значениям в этом объекте. Значения - это `USVString` (en-US) или `Blob` объекты.

**Примечание:** Метод доступен в Web Workers.

Синтаксис
---------
```

formData.values();
```

### Возвращаемые значения

Возвращает `iterator`.

Пример
------


```js
// Create a test FormData object
var formData = new FormData();
formData.append("key1", "value1");
formData.append("key2", "value2");

// Display the values
for (var value of formData.values()) {
  console.log(value);
}
```


Результат:
```

value1
value2
```

Спецификация
------------

#### No specification found

No specification data found for `api.FormData.values`.  
Check for problems with this page or contribute a missing `spec_url` to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `XMLHTTPRequest`
* Использование XMLHttpRequest (en-US)
* Использование FormData objects (en-US)
* `<form>`
FormData.getAll()
=================

**`getAll()`** - метод объекта `FormData`, который возвращает все значения, связанные с ключом в объекте FormData.

**Примечание:** Этот метод доступен в Web Workers.

Синтаксис
---------


```js
formData.getAll(name);
```

### Параметры

`name`

Строка формата `USVString` (en-US), задающая имя ключа.

### Возвращает

Массив значений типа `FormDataEntryValue` (en-US), привязанных к ключу, переданному в параметре `name`. Если переданный ключ не существует, метод вернёт пустой массив.

Пример
------

Эта строка создаст пустой объект FormData:


```js
var formData = new FormData();
```


Можем добавить два `username` при помощи `FormData.append`:


```js
formData.append("username", "Борис");
formData.append("username", "Кирилл");
```


Тогда метод `getAll()` вернёт оба значения username в виде массива:


```js
formData.getAll("username"); // Вернёт ["Борис", "Кирилл"]
```

Спецификации
------------

| Specification |
| --- |
| XMLHttpRequest Standard # dom-formdata-getall |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `XMLHTTPRequest`
* Using XMLHttpRequest (en-US)
* Using FormData objects (en-US)
* `<form>`
FormData.append()
=================

Метод **`append()`** из интерфейса `FormData` добавляет новое значение в существующий ключ внутри объекта `FormData`, или создаёт ключ, в случае если он отсутствует.

Разница между `FormData.set` и `append()` в том, что если заданный ключ уже существует, `FormData.set` заменит данные в нем на новые, а `append()` добавит новое значение к остальным в конец.

**Примечание:** Данный метод также доступен в Web Workers.

Синтаксис
---------

Существует две формы использования данной функции: с двумя и тремя параметрами:


```js
formData.append(name, value);
formData.append(name, value, filename);
```

### Параметры

`name`

Имя поля, которое будет содержать данные из `value`.

`value`

Значение поля. В варианте с двумя параметрами, это является `USVString` (en-US), если значение не является строкой, то оно будет в неё конвертировано. В варианте с тремя параметрами это может быть `Blob`, `File`, или `USVString` (en-US), И снова, если ни один из них не указан в значении то оно будет конвертировано в строку.

`filename` Необязательный

Имя файла которое будет отправлено серверу (`USVString` (en-US)), когда `Blob` или `File` прошёл проверку как второй параметр. Стандартное имя файла для `Blob` объектов это "blob".


**Примечание:** Если вы укажете `Blob` в качестве данных для включения в объект `FormData`, имя файла будет указано для сервера в заголовке "Content-Disposition" и может отличаться от браузера к браузеру.

### Возвращает

Пустота.

Пример
------

Данная строка кода создаёт пустой `FormData` объект:


```js
var formData = new FormData(); // Currently empty
```


Вы можете добавлять пару ключ/значение с помощью `FormData.append`:


```js
formData.append("username", "Chris");
formData.append("userpic", myFileInput.files[0], "chris.jpg");
```


Также вы можете использовать обозначения массива для первого аргумента:


```js
formData.append("userpic[]", myFileInput1.files[0], "chris1.jpg");
formData.append("userpic[]", myFileInput2.files[0], "chris2.jpg");
```


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

Спецификации
------------

| Specification |
| --- |
| XMLHttpRequest Standard # dom-formdata-append |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `XMLHTTPRequest`
* Using XMLHttpRequest (en-US)
* Using FormData objects (en-US)
* `<form>`
FormData.get()
==============

Метод get() из интерфейса `FormData` возвращает первое значение, связанное с переданным ключом из объекта FormData. Если вы ожидаете множественные значения и хотите получить их все, используйте метод getAll().

**Примечание:** Примечание: Этот метод доступен в Web Workers.

Синтаксис
---------
```

formData.get(name);
```

### Параметры

`name`

`USVString` (en-US) строка, являющаяся именем ключа, значение которого вы хотите получить.

### Возвращаемое значение

Значение из `FormDataEntryValue` (en-US).

Пример
------

Следующий код создаёт пустой объект `FormData`:


```js
var formData = new FormData();
```


Если мы добавим два значения `username,` используя `FormData.append`:


```js
formData.append("username", "Борис");
formData.append("username", "Кирилл");
```


То метод `get()` вернёт только первое добавленное значение `username`:


```js
formData.get("username"); // Вернёт "Борис"
```

Спецификация
------------

| Specification |
| --- |
| XMLHttpRequest Standard # dom-formdata-get |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `XMLHTTPRequest`
* Использование XMLHttpRequest (en-US)
* Использование FormData objects (en-US)
* `<form>`
FormData.keys()
===============

**`FormData.keys()`** метод возвращает `iterator` позволяя пройтись по всем ключам содержащимся в этом объекте. Ключи являются `USVString` (en-US) объектами.

**Примечание:** Метод доступен в Web Workers.

Синтаксис
---------
```

formData.keys();
```

### Возвращаемые значения

Возвращает `iterator`.

Пример
------


```js
// Create a test FormData object
var formData = new FormData();
formData.append("key1", "value1");
formData.append("key2", "value2");

// Display the keys
for (var key of formData.keys()) {
  console.log(key);
}
```


Результат:
```

key1
key2
```

Спецификация
------------

#### No specification found

No specification data found for `api.FormData.keys`.  
Check for problems with this page or contribute a missing `spec_url` to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `XMLHTTPRequest`
* Использование XMLHttpRequest (en-US)
* Использование объектов FormData (en-US)
* `<form>`
FormData.entries()
==================

Метод **`FormData.entries()`** возвращает `iterator`, позволяя пройтись по всем ключам/значениям в этом объекте. Ключ каждой пары - это объект `USVString` (en-US), значение - это `USVString` (en-US) или `Blob`.

**Примечание:** Метод доступен в Web Workers.

Синтаксис
---------
```

formData.entries();
```

### Возвращаемые значения

Возвращает `iterator`.

Пример
------


```js
// Create a test FormData object
var formData = new FormData();
formData.append("key1", "value1");
formData.append("key2", "value2");

// Display the key/value pairs
for (var pair of formData.entries()) {
  console.log(pair[0] + ", " + pair[1]);
}
```


Результат:
```

key1, value1
key2, value2
```

Спецификации
------------

#### No specification found

No specification data found for `api.FormData.entries`.  
Check for problems with this page or contribute a missing `spec_url` to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `XMLHTTPRequest`
* Using XMLHttpRequest (en-US)
* Using FormData objects (en-US)
* `<form>`
FormData()
==========

Конструктор **`FormData()`** создаёт новые объект `FormData`, если проще - HTML-форму\*\*.\*\*

Синтаксис
---------


```js
var formData = new FormData(form);
```

### Параметры

`form` Необязательный

Существующая HTML-форма, на основе которой будет создана новая. Если ничего не указано, будет создана пустая форма.

Пример
------


```html
<form name="test">
  <input type="text" name="code" value="12345" />
  <input type="submit" value="Отправить" />
</form>
```



```js
var oldForm = document.forms.test,
  formData = new FormData(oldForm);
console.log(formData.get("code"), formData === oldForm);
```

### Методы

**Примечание:** Подробнее о каждом методе можно прочитать, выбрав его в колонке слева.

Добавление нового текстового поля в форму:


```js
formData.append(name, value, filename);
```


Удаление элемента формы:


```js
formData.delete(name);
```


Получение значения элемента формы:


```js
formData.get(name);
```


Проверка на наличие определённого элемента формы:


```js
formData.has(name);
```


Изменение существующего элемента:


```js
formData.set(name, value, filename);
```

Спецификация
------------

| Specification |
| --- |
| XMLHttpRequest Standard # dom-formdata |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
FormData.set()
==============

Метод set() из интерфейса `FormData` присваивает новое значение существующему ключу внутри объекта `FormData`, или добавляет ключ/значение если до этого они не были установлены.

Разница между `set()` и `FormData.append` в том, что если заданный ключ уже существует, `set()` заменит данные в нем на новые, а `FormData.append` добавит новое значение к остальным в конец.

**Примечание:** Данный метод также доступен в Web Workers.

Синтаксис
---------

Существует две формы использования данной функции: с двумя и тремя параметрами:


```js
formData.set(name, value);
formData.set(name, value, filename);
```


#### Параметры

`name`

Имя поля, которому будет присвоен value.

`value`

Значение, присваиваемое полю. В варианте с двумя параметрами, это `USVString` (en-US), если нет, то оно будет конвертировано. В варианте с тремя параметрами это может быть `Blob`, `File`, или `USVString` (en-US), И снова, если ни один из них не указан в значении то оно будет конвертировано в строку.

`filename`Необязательный

Имя файла, которое будет отправлено серверу (`USVString` (en-US)), когда `Blob` или `File` прошёл проверку как второй параметр. Стандартное имя файла для `Blob` объектов это "blob".


**Примечание:** Если вы укажете `Blob` в качестве данных для включения в объект `FormData`, имя файла будет указано для сервера в заголовке "Content-Disposition" и может отличаться от браузера к браузеру.

Пример
------

Следующий код создаёт пустой `FormData` объект:


```js
var formData = new FormData(); // Сейчас пустой
```


Вы можете установить для него пару ключ/значение, используя `FormData.set`:


```js
formData.set("username", "Chris");
formData.set("userpic", myFileInput.files[0], "chris.jpg");
```

Спецификации
------------

| Specification |
| --- |
| XMLHttpRequest Standard # dom-formdata-set |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `XMLHTTPRequest`
* Using XMLHttpRequest (en-US)
* Using FormData objects (en-US)
* `<form>`
FormData.delete()
=================

Метод **`delete()`** интерфейса `FormData` удаляет ключ и его значение(-ия) из объекта `FormData`.

**Примечание:** Этот метод доступен в Web Workers.

Синтаксис
---------


```js
formData.delete(name);
```

### Параметры

`name`

Имя ключа для удаления.

### Возвращает

Нет.

Пример
------

Следующий код создаёт объект `FormData` и заполняет его парами "ключ"/"значение" из формы:


```js
var formData = new FormData(myForm);
```


Вы можете удалить пару "ключ"/"значение" используя `delete()`:


```js
formData.delete("username");
```

Спецификации
------------

| Specification |
| --- |
| XMLHttpRequest Standard # dom-formdata-delete |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `XMLHTTPRequest`
* Using XMLHttpRequest (en-US)
* Using FormData objects (en-US)
* `<form>`
BeforeInstallPromptEvent.prompt()
=================================

Метод **`prompt()`** интерфейса `BeforeInstallPromptEvent` позволяет разработчику показывать подсказку об установке в любое время по своему выбору.

Синтаксис
---------
```

BeforeInstallPromptEvent.prompt()
```

### Параметры

None.

### Возвращаемое значение

Пустой `Promise`.

Пример
------
```

var isTooSoon = true;
window.addEventListener("beforeinstallprompt", function(e) {
  if (isTooSoon) {
    e.preventDefault(); // Предотвращает быстрое отображение
    // Запросить позже:
    setTimeout(function() {
      isTooSoon = false;
      e.prompt(); // Выбрасывает, если вызывается более одного раза или по умолчанию не предотвращено (not prevented)
    }, 10000);
  }

  // Событие было повторно отправлено в ответ на наш запрос
  // ...
});
```

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
WorkerGlobalScope.importScripts()
=================================

Метод **`importScripts()`** интерфейса `WorkerGlobalScope` (en-US) синхронно импортирует один или несколько скриптов, добавляя их в область видимости сервис-воркера.

Синтаксис
---------


```js
self.importScripts('foo.js');
self.importScripts('foo.js', 'bar.js', ...);
```

### Параметры

Разделённый запятыми объект `DOMString` скриптов, которые должны быть импортированы. Пути к скриптам указываются относительно URL HTML документа.

### Возвращаемое значение

*Нет.*

### Выбрасываемые исключения

| Исключение | Описание |
| --- | --- |
| `NetworkError` | Добавленные скрипты имеют неверные MIME тип (то есть не `text/javascript`). |

Пример
------

Если вы хотите использовать некоторую функциональность, определённую файлом `foo.js`, необходимо сделать следующее:


```js
importScripts("foo.js");
```


`importScripts()` и `self.importScripts()` по сути эквивалентны — и то и другое вызывает функцию `importScripts()` в области видимости воркера.

Спецификации
------------

| Specification |
| --- |
| HTML Standard # dom-workerglobalscope-importscripts-dev |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите Также
--------------

`WorkerGlobalScope` (en-US)