From 1386fed7d38652d5848d315927e7e23a66cffd13 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Wed, 20 Oct 2021 13:28:52 +0300 Subject: [RU] Remove `name` attribute from headings (#2788) --- .../reference/global_objects/error/stack/index.html | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'files/ru/web/javascript/reference/global_objects/error/stack') diff --git a/files/ru/web/javascript/reference/global_objects/error/stack/index.html b/files/ru/web/javascript/reference/global_objects/error/stack/index.html index d28040716c..a3cedd7c38 100644 --- a/files/ru/web/javascript/reference/global_objects/error/stack/index.html +++ b/files/ru/web/javascript/reference/global_objects/error/stack/index.html @@ -12,15 +12,15 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Error/Stack ---
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}} {{non-standard_header}}
-

Сводка

+

Сводка

Нестандартное свойство stack объекта {{jsxref("Error")}} возвращает трассировку стека вызываемых функций в порядке их выполнения, вместе с номерами строк, именами файлов и аргументами. Строка со стеком заполняется от самых недавних вызовов до вызова из глобальной области видимости.

-

Описание

+

Описание

Каждый шаг находится на отдельной строке; первая часть строки содержит имя функции (если это не вызов из глобальной области видимости), затем знак собаки (@), местоположение файла (кроме случая, когда функция является конструктором ошибки, которую она выбрасывает), двоеточие и, если есть местоположение файла, номер строки. Обратите внимание, что объект {{jsxref("Error")}} также обладает свойствами fileName, lineNumber и columnNumber, позволяющими извлечь имя файла, номер строки и столбца из выброшенной ошибки (но только самой ошибки, а не всего стека вызовов).

Обратите внимание, что такой формат используется в Firefox. Нет никакого «стандартного формата». Однако, Safari 6+ и Opera 12- используют очень похожий формат. С другой стороны, браузеры, использующие движок JavaScript V8 (например, Chrome, Opera 15+, Браузер Android) и IE10+, используют другой формат (смотрите эту статью по error.stack в MSDN).

Значения аргументов в стеке: до Firefox 14 ({{bug("744842")}}) за именем функции и прямо перед знаком собаки (@) в круглых скобках следовали значения аргументов, преобразованные в строки. Хотя объекты (или массивы и прочее) преобразовывались в форму "[object Object]", и, таким образом, невозможно было узнать их содержимое, скалярные значения могли быть извлечены (это всё ещё можно использовать в Firefox 14 — однако проще для получения аргументов использовать arguments.callee.caller.arguments, а для получения имени функции — arguments.callee.caller.name). Значение "undefined" показывалось как "(void 0)". Обратите внимание, что если строковые аргументы содержали значения, включающие символы "@", "(", ")" (или если они включали имена файлов), вам не так то просто было разбить строку на составные части. Таким образом, в Firefox 14 и более поздних версиях это перестало быть проблемой.

-

Примеры

+

Примеры

Следующая разметка HTML демонстрирует использование свойства stack.

<!DOCTYPE HTML>
 <meta charset="UTF-8">
@@ -62,7 +62,7 @@ b(3,4,"\n\n",(void 0),[object Object])@file:///C:/example.html:16
 a("первый вызов, первый аргумент")@file:///C:/example.html:19
 @file:///C:/example.html:21
-

Стек кода в функции eval()

+

Стек кода в функции eval()

Начиная с Firefox 30 {{geckoRelease("30")}}, стек вызовов кода в вызовах Function() и eval() даёт более подробную информацию о номере строки и колонки внутри этих вызовов. Вызовы Function обозначаются "> Function", а вызовы eval() обозначаются "> eval". Смотрите {{bug("332176")}}.

try {
   new Function('throw new Error()')();
@@ -86,13 +86,13 @@ try {
 

Также для именования исходного кода в функции eval() вы можете использовать директиву //# sourceURL. Смотрите раздел Отладка исходных кодов в функции eval() в документации по отладчику, а также эту запись в блоге (на английском).

-

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

+

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

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

-

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

+

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

{{Compat}}

-

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

+

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