Почему у меня возникает ошибка при создании простого цикла из 100 итераций?
'use strict';
try {
var str = 'e';
for (var i = 0; i < 100; i++) {
str += str;
}
console.log('попытка');
} catch(e) {
console.log('ошибка');
}
// Оставшаяся синхронно выполняемая часть кода.
console.log('остаток');
'use strict';
try {
var str = 'e';
for (var i = 0; i < 10; i++) {
str += str;
}
console.log('попытка');
} catch(e) {
console.log('ошибка');
}
// Оставшаяся синхронно выполняемая часть кода.
console.log('остаток');
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Потому что Вы пытаетесь создать строку длиной два в сотой степени букв 'e'.
Это примерно 10 в тридцатой степени символов. Попробуйте посчитать, сколько это будет в гигабайтах.
'use strict';
try {
var str = 'e';
for (var i = 0; i < 100; i++) {
str += str;
}
console.log('попытка');
} catch (e) {
console.log('ошибка');
}
// Оставшаяся синхронно выполняемая часть кода.
console.log('остаток');
console.log(str.length);
'use strict';
try {
var str = 'e';
for (var i = 0; i < 10; i++) {
str += str;
}
console.log('попытка');
} catch (e) {
console.log('ошибка');
}
// Оставшаяся синхронно выполняемая часть кода.
console.log('остаток');
console.log(str.length, str);