#javascript #constructor #sum
Вопрос:
Я пытаюсь решить эту проблему. Когда пользователь вводит два числа с помощью ** подсказки **, после того, как на дисплее отобразится конечный результат. Простой конструктор, но этот код принимает только первое значение, я не могу заставить его принять и второе, чтобы суммировать оба значения
function Num (firstNum) {
this.firstNum = firstNum;
this.read = function() {
this.value = this.x this.firstNum; {
return this.x = prompt('a');
}
};
}
let num = new Num(10);
num.read();
num.read();
alert(num.value);
Комментарии:
1. Что вы на самом деле пытаетесь сделать? Что такое
this.x
? Что такоеnum.value
?2. Все здесь пытаются решить проблему. 🙂 Пожалуйста , пересмотрите название своего поста, чтобы задать четкий, конкретный вопрос. Затем пересмотрите свой пост, чтобы добавить подробности в комментарий h0r53.
3. @h0r53 все, что я хочу. выполните «propmt» — дважды и так, чтобы функция запоминала номера значения запроса и отображала его как предупреждение. Я попытался сделать это с помощью «this.value = this.x this.firstNum;», но оказалось, что это. не могу работать с » =»
Ответ №1:
Как предположили другие комментаторы, вам, вероятно, следует отредактировать свой вопрос, чтобы сделать его более ясным. Но если бы мне пришлось сделать предположение, вот мой ответ:
Найдите «функции карри» или «частичное применение». В принципе, вы можете использовать замыкания для сохранения значения из первого запроса до тех пор, пока не получите значение из второго.
const sumTwo = firstNum => secondNum => firstNum secondNum;
// then when you want to use it;
const plusTen = sumTwo(prompt(10);
const resultA = plusTen(prompt(2)); // this will be 12
const resultB = plusTen(prompt(5)); // this will be 15
Ответ №2:
решать
function Num (firstNum) {
this.value = firstNum;
this.read = function() {
this.value = prompt('a?', 0);
};
}
let num = new Num(10);
num.read();
num.read();
alert(num.value);