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

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

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

ثبت پرسش جدید
میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 4 سال پیش مطرح شد
1

خروجی اینه:

4
3
2
1
2
3

میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 4 سال پیش مطرح شد
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.v 4 سال پیش مطرح شد
0

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


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 4 سال پیش مطرح شد
1

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


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

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