recursal/MDN huggingface dataset:
Console.warn()
==============

Выводит предупреждение в веб-консоль.
**Примечание:** Эта возможность доступна в Web Workers

**Примечание:** В Firefox, предупреждения имеют небольшое изображение восклицательного знака перед сообщением.

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

console.warn(obj1 [, obj2, ..., objN]);
console.warn(msg [, subst1, ..., substN]);
```

Параметры
---------

`obj1` ... `objN`

Список объектов JavaScript для вывода. Строковые представления каждого из этих объектов соединяются вместе в указанном порядке и выводятся.

`msg`

Строка JavaScript, содержащая 0 и более подстановочных символов для замен.

`subst1` ... `substN`

JavaScript-объекты, с помощью которых произойдёт замена подстановочных символов в `msg`. Это даст вам дополнительный контроль над форматом вывода.

Больше подробностей смотрите в разделе Вывод текста в консоль документации `console`.

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

| Specification |
| --- |
| Console Standard # warn |

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

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

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

* Opera Dragonfly documentation: Console
* MSDN: Using the F12 Tools Console to View Errors and Status
console: статический метод dir()
================================

Статический метод **`console.dir()`** отображает интерактивный список свойств указанного JavaScript объекта. Вывод представлен в виде иерархического списка с возможностью просмотра содержимого дочерних объектов.

Другими словами, `console.dir()` предоставляет возможность увидеть в консоли все свойства JavaScript объекта.

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

![](/ru/docs/Web/API/console/dir_static/console-dir.png)

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


```js
dir(object)
```

Параметры
---------

`object`

JavaScript-объект, свойства которого нужно вывести.

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

Нет (`undefined`).

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

| Specification |
| --- |
| Console Standard # dir |

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

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

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

* Документация Microsoft Edge: `console.dir()`
* Документация Node.JS: `console.dir()`
* Документация Google Chrome: `console.dir()`
Console.dirxml()
================

Отображает интерактивное дерево из дочерних элементов указанного XML / HTML-элемента. Если невозможно отобразить как элемент, то вместо этого отображается представление объекта JavaScript. Выходные данные представлены в виде иерархического списка расширяемых узлов, которые позволяют вам видеть содержимое дочерних узлов.

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

console.dirxml(object);
```

Параметры
---------

`object`

Объект JavaScript свойства которого будут отображены.

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

| Specification |
| --- |
| Console Standard # dirxml |

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

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

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

* Opera Dragonfly documentation: Console
Console.timeStamp()
===================

**Не стандартно:** Эта возможность не является стандартной и стандартизировать её пока никто не собирается. Не используйте её на сайтах, смотрящих во внешний мир: она будет работать не у всех пользователей. Также могут присутствовать большие несовместимости между реализациями и её поведение может в будущем измениться.

Добавляет маркер в браузерные инструменты Performance или Waterfall. Это помогает соотнести точку в вашем коде с другими записанными событиями.

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

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

console.timeStamp(label);
```

Параметры
---------

`label`

Название метки. Необязательный параметр.

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

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

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

* `Console.time()`
* `Console.timeEnd()`
* Adding timestamps to the Waterfall
Console.time()
==============

Запускает таймер, который вы можете использовать для определения, сколько времени занимает выполнение той или иной операции. Вы должны назначить каждому таймеру уникальное имя и таким образом можете запустить до 10000 таймеров на одной странице. Когда вы вызовете `console.timeEnd()` с именем, которое использовалось при запуске таймера, браузер отобразит в консоли время (в миллисекундах), прошедшее с момента запуска таймера.

Примеры и более детальная информация находятся в разделе Таймеры (en-US) документации к `console`

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

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

console.time(label);
```

Параметры
---------

`label`

Название нового таймера. Оно однозначно идентифицирует таймер. Используйте то же самое название таймера, когда вызываете `console.timeEnd()` для остановки и отображения времени выполнения таймера.

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

| Specification |
| --- |
| Console Standard # time |

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

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

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

* `Console.timeEnd()`
* `Console.timeLog()`
* Opera Dragonfly documentation: Console
Console.log()
=============

Выводит сообщение в веб-консоль.

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

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

console.log(obj1 [, obj2, ..., objN]);
console.log(msg [, subst1, ..., substN]);
```

Параметры
---------

`obj1` ... `objN`

Список объектов JavaScript для вывода. Объекты выводятся в том порядке, в котором они были указаны при вызове метода. Пожалуйста, обратите внимание, что если вы логируете объекты в последних версиях Chrome и Firefox, в консоль залогируется не значение объекта, а *ссылка* на него. Это означает, что, возможно, в консоль будет выведено не значение объекта на момент вызова `console.log()`, а будет выведено значение объекта на момент открытия консоли.

`msg`

Строка JavaScript, содержащая 0 и более подстановочных символов для замены (см. `subst1` ... `substN`).

`subst1` ... `substN`

JavaScript-объекты, с помощью которых произойдёт замена подстановочных символов в `msg`. Это даст вам дополнительный контроль над форматом вывода.

Больше подробностей смотрите в разделе Вывод текста в консоль (en-US) документации `console`.

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

| Specification |
| --- |
| Console Standard # log |

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

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

Отличия от console.dir()
------------------------

Вы можете спросить какая разница между console.dir() и console.log(). Это полезное отличие.

![](http://i.imgur.com/DozDcYR.png)

Примечание:

* `console.log` выводит элемент как HTML-дерево
* `console.dir` выводит элемент как JSON-объект

А именно, `console.log` даёт специальное обращение к DOM-элементам, тогда как `console.dir` - нет. Это особенно полезно, когда нужно видеть полное представление DOM JS-объектов.

Больше информации об этой и других функциях в Chrome Console API reference.

Логирование объектов
--------------------

 Не используйте `console.log(obj);`,
 Используйте `console.log(JSON.parse(JSON.stringify(obj)));`.

Так вы можете быть уверены, что видите значение `obj` в момент, его логирования.

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

* Opera Dragonfly documentation: Console
* MSDN: Using the F12 Tools Console to View Errors and Status
* Firebug wiki: Console API - Firebug поддерживает дополнительные возможности реализации console.log(), такие как styled logging.
* NodeJS: Console API
Console.countReset()
====================

Сбрасывает значение счётчика. Эта функция также принимает необязательный аргумент `label`.

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

Если аргумент `label` передан, то функция сбросит счётчик связанный с этим аргументом.

Если значение `label` опущено, то функция сбросит счётчик, заданий по умолчанию.

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

console.countReset([label]);
```

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

`label`

 Строка.
 Если аргумент label был передан, `countReset()` сбросит к 0 счётчик для этого label.
 Если нет, `count()` сбросит к 0 счётчик, заданий по умолчанию.


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

Если аргумент label был передан:
```

 counter-name: 0
```


Если аргумент label не был определён:
```

default: 0
```

### Исключения

Если аргумент `label` был передан, но такого счётчика не существует `countReset` вернёт предупреждение:
```

Counter "counter-name" doesn’t exist.
```


Если аргумент `label` не был передан и `count()` не был вызван ранее, `countReset` вернёт предупреждение:
```

Counter "default" doesn’t exist.
```

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

Например, при таком коде:


```js
var user = "";

function greet() {
  console.count();
  return "hi " + user;
}

user = "bob";
greet();
user = "alice";
greet();
greet();
console.count();
console.countReset();
```


Вывод консоли будет примерно таким:
```

"default: 1"
"default: 2"
"default: 3"
"default: 1"
"default: 0"
```


Заметьте, что вызов console.counterReset() сбросил до 0 значение счётчика заданного по умолчанию.

Если мы присвоим переменную `user` как аргумент `label` при первом вызове `count()`, и строку "alice" при втором:


```js
var user = "";

function greet() {
  console.count(user);
  return "hi " + user;
}

user = "bob";
greet();
user = "alice";
greet();
greet();
console.countReset("bob");
console.count("alice");
```


Вывод будет примерно таким:
```

"bob: 1"
"alice: 1"
"alice: 2"
"bob: 0"
"alice: 3"
```


Сброс счётчика "bob" изменил значение только этого счётчика. Значение счётчика "alice" осталось неизменно.

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

| Specification |
| --- |
| Console Standard # countreset |

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

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

**`Event.type`** - это доступное только для чтения свойство, возвращающее строку, содержащую тип события. Оно устанавливается в момент создания события и это имя обычно используется для ссылки на определённое событие.

Аргумент *`event`* функций `EventTarget.addEventListener()` и `EventTarget.removeEventListener()` не чувствителен к регистру.

Для получения списка доступных типов событий смотри event reference

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

event.type
```

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

var string = event.type;
```


```
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">

    <title>Event.type Example</title>

    <script>
        var currEvent = null;

        function getEvtType(evt) {
            console.log("//Start------------getEvtType(evt)------------ ");

            currEvent = evt.type;
            console.log(currEvent);

            //document.getElementById("Etype").firstChild.nodeValue = currEvent;
            document.getElementById("Etype").innerHTML = currEvent;

            console.log("//End--------------getEvtType(evt)------------ ");
        }

        //Keyboard events
        document.addEventListener("keypress", getEvtType, false); //[second]

        document.addEventListener("keydown", getEvtType, false); //first
        document.addEventListener("keyup", getEvtType, false); //third

        //Mouse events
        document.addEventListener("click", getEvtType, false); // third

        document.addEventListener("mousedown", getEvtType, false); //first
        document.addEventListener("mouseup", getEvtType, false); //second

    </script>
</head>

<body>

    <p>Press any key or click the mouse to get the event type.</p>
    <p>Event type: <span id="Etype" style="color:red">-</span></p>

</body>
</html>
```

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

| Specification |
| --- |
| DOM Standard # ref-for-dom-event-type④ |
Event.stopImmediatePropagation()
================================

Останавливает цепочку вызова событий для последующих обработчиков DOM-элемента.

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

event.stopImmediatePropagation();
```

Замечания
---------

Если несколько обработчиков прикреплены к одному и тому же элементу с одинаковым типом события, тогда они будут вызваны в порядке своего добавления. Если один из этих обработчиков вызовет event.stopImmediatePropagation() тогда события оставшихся обработчиков вызваны не будут.

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

| Specification |
| --- |
| DOM Standard # ref-for-dom-event-stopimmediatepropagation① |

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

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

### Описание

Указывает, является ли данное событие всплывающим внутри DOM.

**Примечание:** Более подробно про всплытие событий: Всплытие и перехват событий

### Синтаксис


```js
event.bubbles;
```


Возвращает булево значение `true`, если событие является всплывающим внутри DOM.

### Значение

`bool` содержит `true` или `false` в зависимости от того, может событие быть всплывающим внутри DOM или нет

### Пример


```js
function handleInput(e) {
  // Проверяем всплывает ли событие и ...
  if (!e.bubbles) {
    // ... пропускаем событие сюда если нет
    passItOn(e);
  }

  // Уже всплыло
  doOutput(e);
}
```


**Примечание:** Только некоторые события могут всплывать. У таких событий это свойство возвращает `true`. Вы можете использовать это свойство, чтобы проверить, может ли событие всплывать.
Event.srcElement
================

**Не стандартно:** Эта возможность не является стандартной и стандартизировать её пока никто не собирается. Не используйте её на сайтах, смотрящих во внешний мир: она будет работать не у всех пользователей. Также могут присутствовать большие несовместимости между реализациями и её поведение может в будущем измениться.

**`Event.srcElement`** это проприетарный синоним стандартного свойства `Event.target`. Специфичен для старых версий Microsoft Internet Explorer.

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

Не является частью каких-либо спецификаций.

Имеет описание от Microsoft на MSDN.

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

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

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

* `Window.event` (en-US)
Event.target
============

Свойство **`target`** интерфейса `Event` является ссылкой на объект, который был инициатором события. Он отличается от `Event.currentTarget`, если обработчик события вызывается во время всплытия (bubbling) или захвата события.

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

theTarget = event.target
```


Значение:

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

Свойство `event.target` может быть использовано для реализации **делегирования событий**.
```

// Создадим список
var ul = document.createElement('ul');
document.body.appendChild(ul);

var li1 = document.createElement('li');
var li2 = document.createElement('li');
ul.appendChild(li1);
ul.appendChild(li2);

function hide(e){
  // e.target ссылается на кликнутый <li> элемент
  // Он отличается от e.currentTarget который будет ссылаться на родительский <ul> в этом контексте
  e.target.style.visibility = 'hidden';
}

// Назначим обработчик к списку
// Он будет вызван когда кликнут на любой <li>
ul.addEventListener('click', hide, false);
```

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

| Specification |
| --- |
| DOM Standard # ref-for-dom-event-target③ |

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

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

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

* Comparison of Event Targets
Event()
=======

Конструктор **`Event()`** создаёт новый объект события `Event`.

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

 event = new Event(typeArg, eventInit);
```

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

*typeArg*

Строковое (`DOMString`) значение, представляющее имя события.

*eventInit* Необязательный

Is an `EventInit` dictionary, having the following fields:

* `"bubbles"`: (Необязательный) логическое значение (`Boolean`) указывающее – будет ли событие всплывающим. По умолчанию `false`.
* `"cancelable"`: (Необязательный) логическое значение (`Boolean`) указывает, может ли событие быть отменено. По умолчанию `false`.
* `"composed"`: (Необязательный) логическое значение `Boolean` указывающее – будет ли событие всплывать наружу за пределы shadow root. По умолчанию `false`.

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


```js
// создать событие "look", событие всплывающее и не может быть отменено

var evt = new Event("look", { bubbles: true, cancelable: false });
document.dispatchEvent(evt);

// событие может быть инициализировано на любом элементе, а не только на документе
myDiv.dispatchEvent(evt);
```

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

| Specification |
| --- |
| DOM Standard # ref-for-dom-event-event |

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

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

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

* `Event`
Event.eventPhase
================

### Общая информация

Отображает текущую фазу процесса обработки события.

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

var phase = event.eventPhase;
```


Возвращает целое число, соответствующее одной из 4 констант:

* `Event.NONE = 0`
* `Event.CAPTURING_PHASE = 1`
* `Event.AT_TARGET = 2`
* `Event.BUBBLING_PHASE = 3`

Смысл констант смотри в section 3.1, Event dispatch and DOM event flow, спецификации DOM Level 3.

### Пример
```

<!DOCTYPE html>
<html>
<head> <title>Event Propagation</title>
  <style type="text/css">
    body { font-family:'Trebuchet MS'; }
    div { margin: 20px; padding: 4px; border: thin black solid; }
    #divInfo { margin: 18px; padding: 8px; background-color:white; font-size:80%; }
  </style>
</head>
<body>
  <h4>Event Propagation Chain</h4>
  <ul>
    <li>Click 'd1'</li>
    <li>Analyse event propagation chain</li>
    <li>Click next div and repeat the experience</li>
    <li>Change Capturing mode</li>
    <li>Repeat the experience</li>
  </ul>
  <input type="checkbox" id="chCapture" /> Use Capturing
  <div id="d1">d1
    <div id="d2">d2
      <div id="d3">d3
        <div id="d4">d4</div>
      </div>
    </div>
  </div>
  <div id="divInfo"></div>
  <script>
    var
      clear = false,
      divInfo = null,
      divs = null,
      useCapture = false;
  window.onload = function ()
  {
    divInfo = document.getElementById("divInfo");
    divs = document.getElementsByTagName('div');
    chCapture = document.getElementById("chCapture");
    chCapture.onclick = function ()
    {
      RemoveListeners();
      AddListeners();
    }
    Clear();
    AddListeners();
  }
  function RemoveListeners()
  {
    for (var i = 0; i < divs.length; i++)
    {
      var d = divs[i];
      if (d.id != "divInfo")
      {
        d.removeEventListener("click", OnDivClick, true);
        d.removeEventListener("click", OnDivClick, false);
      }
    }
  }
  function AddListeners()
  {
    for (var i = 0; i < divs.length; i++)
    {
      var d = divs[i];
      if (d.id != "divInfo")
      {
        d.addEventListener("click", OnDivClick, false);
        if (chCapture.checked)
          d.addEventListener("click", OnDivClick, true);
        d.onmousemove = function () { clear = true; };
      }
    }
  }
  function OnDivClick(e)
  {
    if (clear)
    {
      Clear();
      clear = false;
    }

    if (e.eventPhase == 2)
      e.currentTarget.style.backgroundColor = 'red';

    var level =
        e.eventPhase == 0 ? "none" :
        e.eventPhase == 1 ? "capturing" :
        e.eventPhase == 2 ? "target" :
        e.eventPhase == 3 ? "bubbling" : "error";
    divInfo.innerHTML += e.currentTarget.id + "; eventPhase: " + level + "<br/>";
  }
  function Clear()
  {
    for (var i = 0; i < divs.length; i++)
    {
      if (divs[i].id != "divInfo")
        divs[i].style.backgroundColor = (i & 1) ? "#f6eedb" : "#cceeff";
    }
    divInfo.innerHTML = '';
  }
  </script>
</body>
</html>
```

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

DOM Level 2 Events: Event.eventPhase
Event.cancelable
================

Описание
--------

Указывает, является ли событие отменяемым.

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

bool = event.cancelable
```


* Возвращает булево значение `true`, если событие может быть отменено.
Пример
------


```js
var bool = event.cancelable;
```


`bool` содержит `true` или `false` в зависимости от того, можно ли предотвратить действие события по умолчанию или нет.

Примечание
----------

Независимо от того, может событие быть отменено или нет, свойство определяется при инициализации события.

Вызов на событии метода `preventDefault()` отменяет событие. При этом действие по умолчанию, связанное с событием, не выполняется.

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

| Specification |
| --- |
| DOM Standard # ref-for-dom-event-cancelable② |

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

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

`isTrusted` - свойство объекта `Event`, доступное только на чтение. Принимает значение true, если событие было инициировано действиями пользователя, и false, если событие было создано или изменено скриптом, либо с помощью dispatchEvent

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

var bool = event.isTrusted;
```

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

 if (e.isTrusted) {
     /* The event is trusted. */
 } else {
     /* The event is not trusted. */
 }
```

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

| Specification |
| --- |
| DOM Standard # ref-for-dom-event-istrusted① |

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

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

Возвращает время (в миллисекундах), в котором было создано событие.

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

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

event.timeStamp
```

### Значение

Значение - это миллисекунды, прошедшие с начала жизненного цикла текущего документа до создания события.

In newer implementations, the value is a `DOMHighResTimeStamp` accurate to 5 microseconds (0.005 ms). In older implementations, the value is a `DOMTimeStamp` (en-US), accurate to a millisecond.

Example
-------

### HTML content


```html
<p>
  Focus this iframe and press any key to get the current timestamp for the
  keypress event.
</p>
<p>timeStamp: <span id="time">-</span></p>
```

### JavaScript content


```js
function getTime(event) {
  var time = document.getElementById("time");
  time.firstChild.nodeValue = event.timeStamp;
}
document.body.addEventListener("keypress", getTime);
```

### Result

Reduced time precision
----------------------

 To offer protection against timing attacks and fingerprinting, the precision of `event.timeStamp` might get rounded depending on browser settings.
 In Firefox, the `privacy.reduceTimerPrecision` preference is enabled by default and defaults to 20us in Firefox 59; in 60 it will be 2ms.


```js
// reduced time precision (2ms) in Firefox 60
event.timeStamp;
// 1519211809934
// 1519211810362
// 1519211811670
// ...

// reduced time precision with `privacy.resistFingerprinting` enabled
event.timeStamp;
// 1519129853500
// 1519129858900
// 1519129864400
// ...
```


In Firefox, you can also enabled `privacy.resistFingerprinting`, the precision will be 100ms or the value of `privacy.resistFingerprinting.reduceTimerPrecision.microseconds`, whichever is larger.

Specifications
--------------

| Specification |
| --- |
| DOM Standard # ref-for-dom-event-timestamp① |

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

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