راکت
حل شده

خروجی این تابع چی میشه و چرا

4 پاسخ
// JavaScript Document
function Myfunction(x) {
    if (x > ۱) {
        console.log(x);
        x--;
        Myfunction(x);
        console.log(x);
    }
}
Myfunction(۴);
ثبت پرسش جدید

پاسخ‌ها

4
میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

بهترین پاسخ

خروجی اینه:

4
3
2
1
2
3
میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

مراحل کار:

step1:
4
Myfunction(3);
3

step2:
4
3
Myfunction(2);
2
3

step3:
4
3
2
Myfunction(1); // این تابع چون شرط بزرگتر از یک را ندارد، مقداری رو برنمیگردونه و تابع متوقف میشه
1
2
3

step4:
4
3
2
1
2
3
وحید جدیدی
وحید جدیدی
@jadidi.v

تخصص: برنامه نویس

اون عملیاتی که باعث چاپ اعداد 1 2 3 میشه چیه؟ توی پشته قرار میگیره؟

شاید پاسخ شما همین‌جا باشد

میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

اونها مربوط به console.log دوم که درون تابع قرار داره هستش.
بله، در کل پیاده سازی چنین توابع تودرتویی توسط جاوااسکریپت با پشته صورت میگیره.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام