Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Js база помогите исправить ошибку и объясните пожалуйста ошибка(*)

goku Знаток (270), на голосовании 4 месяца назад
function snow() {
let arr = []
let sum = 0
While (true) { *
let vod = prompt("num = ");
if (vod === ""
|| vod === null
|| vod === !isFinite(vod)) break;
arr.push(+vod);
}
for(let key of arr){
sum += key убери ошибку в коде



}
return sum
}
alert(snow())
Голосование за лучший ответ
М . Мастер (2118) 5 месяцев назад
На этот отрывок кода даже смотреть больно
М .Мастер (2118) 5 месяцев назад
 class Calculator { 
#result = 0;

constructor() {
this.addition = this.addition.bind(this);
}

async dialog() {
const originalMsg = prompt('num: ');

const digitsMsg = originalMsg.replace(/\D/g, '');

return Number(digitsMsg);
}

addition(n) {
this.#result += n;
}

addDigit(n) {
if (typeof n === 'number') {
return this.addition(n);
}

this.dialog().then(this.addition);
}

result(callback) {
if (typeof callback === 'function') {
return callback(this.#result);
}

return this.#result;
}

clear() {
this.#result = 0;
}
}
Максимально декомпозировано и предусмотренно
М .Мастер (2118) 5 месяцев назад
Так использовать:


 // экземпляр
const calculator = new Calculator();

for (let i = 0; i < 2; i++) {
// вызов диалогового окна
await calculator.addDigit()
}

// без диалога
calculator.addDigit(10);

// вместо alert'a может быть любая функция
calculator.result(alert);
Похожие вопросы