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

2 هفته پیش
توسط میلاد آپدیت شد
وحید جدیدی ( 8220 تجربه )
2 هفته پیش
تخصص : برنامه نویس
// JavaScript Document
function Myfunction(x) {
    if (x > ۱) {
        console.log(x);
        x--;
        Myfunction(x);
        console.log(x);
    }
}
Myfunction(۴);
بهترین پاسخ انتخاب شده توسط وحید جدیدی
میلاد
2 هفته پیش

خروجی اینه:

4
3
2
1
2
3
میلاد ( 124090 تجربه )
2 هفته پیش
تخصص : طراح رابط کاربری - Front-End

خروجی اینه:

4
3
2
1
2
3
میلاد ( 124090 تجربه )
2 هفته پیش
تخصص : طراح رابط کاربری - 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
وحید جدیدی ( 8220 تجربه )
2 هفته پیش
تخصص : برنامه نویس

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

میلاد ( 124090 تجربه )
2 هفته پیش
تخصص : طراح رابط کاربری - Front-End

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

برای ارسال پاسخ باید وارد سایت شوید