الرجوع الي الدرس

إصلاح الإضافة

إليك رمز يطلب من المستخدم رقمين ويظهر مجموعهم.

يعمل بشكل غير صحيح. الإخراج في المثال أدناه هو 12 (لقيم المطالبة الافتراضية).

لماذا ا؟ اصلحه. يجب أن تكون النتيجة 3.

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

alert(a + b); // 12

السبب هو أن موجه إرجاع إدخال المستخدم كسلسلة.

حتى المتغيرات لها قيم “1” و “2” على التوالي.

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

alert(a + b); // 12

ما يجب علينا فعله هو تحويل السلاسل إلى أرقام قبل +. على سبيل المثال ، استخدام Number () أو إلحاقها بـ +.

على سبيل المثال ، قبل “prompt” مباشرةً:

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

alert(a + b); // 3

أو في alert:

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

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

استخدام كل من + أحادي وثنائي `في آخر كود. يبدو مضحك ، أليس كذلك؟