Я написал бессмысленную программу на JavaScript для изучения работы вкладки DevTools Performance.В моей программе нет рекурсии, однако в разделе «Основная» показано, что функция test2
вызывает сама себя, см. Скриншот:
Что это значит?Моя функция разделена на две части?Или это означает, что в отчете есть неточности по дизайну?
Вот программа:
<p><a id="test1" href="#">Do stuff</a></p>
<script>
function test1(e) {
console.time('test1');
var foo = [];
for (var i = 1; i <= 1000; i++) {
test2(foo, i);
}
console.timeEnd('test1');
}
function test2(foo, i) {
for (var j = 1; j <= 100000; j++) {
if (i * j % 211 === 0) {
test3(foo);
}
else {
foo.push(i * i - i);
}
}
}
var k = 0;
function test3(foo) {
if (k++ % 1733 === 0) {
console.count('test3');
}
foo = [];
}
document.getElementById('test1').addEventListener('click', test1);
</script>