我在Firefox中引发了JavaScript错误,但在Chrome中却没有。 Firefox devtools的Console窗口中的堆栈跟踪如下所示。例外情况发生在this minified file。
我想知道符号<
和/
在堆栈跟踪中是否有特殊含义,因为我以前从未在堆栈跟踪中看到类似的内容。我最好的猜测是它与对象的子方法有关。
文字版:
TypeError: a is null
p</G()
p</Y()
p</$()
M</f/this.normalize/a()
M</f/this.normalize()
U/this.currentStyle()
...
答案 0 :(得分:0)
以下是我的猜测,而不是官方文档。
符号/
表示“嵌套”,例如fn1/fn2@file.js
的意思是“您在函数fn1内定义的函数fn2中”。
function fn1() {
function fn2() {
// Here the stack trace in Firefox will look like:
// fn1/fn2@file.js - function fn2, which is nested in fn1
// fn1@file.js - function fn1
// @file.js - global code
}
}
fn1();
符号<
的含义类似于“闭包中的匿名函数”。考虑以下示例:
const fn1 = (function(fn) {
return function() {
fn();
}
}(function() {
// Here the stack trace in Firefox will look like:
// fn1<@file.js - anonymous function from a closure in function fn1
// fn1@file.js - function fn1
// @file.js - global code
}));
fn1();
更多示例可用于: