darsga qaytish

Qo'shishni tuzating

Mana foydalanuvchidan ikkita raqamni so’raydigan va ularning yig’indisini ko’rsatadigan kod.

Bu noto’g’ri ishlaydi. Quyidagi misoldagi chiqish 12 (standart taklif qiymatlari uchun).

Nega? Tuzating. Natija “3” bo’lishi kerak.

let a = prompt("Birinchi raqam?", 1);
let b = prompt("Ikkinchi raqam?", 2);

alert(a + b); // 12

Prompt va string o’zgartirish

Buning sababi prompt foydalanuvchi kiritgan ma’lumotni string sifatida qaytaradi.

Demak, o’zgaruvchilar mos ravishda "1" va "2" qiymatlariga ega.

let a = "1"; // prompt("First number?", 1);
let b = "2"; // prompt("Second number?", 2);

alert(a + b); // 12

Biz qilishimiz kerak bo’lgan narsa + dan oldin stringlarni raqamlarga o’zgartirishdir. Masalan, Number() dan foydalanish yoki ularning oldiga + qo’yish.

Yechimlar

1. prompt dan oldin:

let a = +prompt("First number?", 1);
let b = +prompt("Second number?", 2);

alert(a + b); // 3

2. alert ichida:

let a = prompt("First number?", 1);
let b = prompt("Second number?", 2);

alert(+a + +b); // 3

Oxirgi kodda ham unary ham binary + ishlatilmoqda. Kulgili ko’rinadi, shunday emasmi?