راکت
وحید جدیدی
وحید جدیدی
6 سال پیش توسط وحید جدیدی مطرح شد
حل
4 پاسخ

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

// JavaScript Document
function Myfunction(x) {
    if (x > ۱) {
        console.log(x);
        x--;
        Myfunction(x);
        console.log(x);
    }
}
Myfunction(۴);

ثبت پرسش جدید
میلاد-م
میلاد-م
تخصص :توسعه‌دهنده رابط کاربری - Front-End
@milad6 سال پیشمطرح شد
1

خروجی اینه:

4
3
2
1
2
3

میلاد-م
میلاد-م
تخصص :توسعه‌دهنده رابط کاربری - Front-End
@milad6 سال پیشمطرح شد
0

مراحل کار:

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.v6 سال پیشمطرح شد
0

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


میلاد-م
میلاد-م
تخصص :توسعه‌دهنده رابط کاربری - Front-End
@milad6 سال پیشمطرح شد
1

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


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

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