عبدالرحمن المغير نشر السبت في 17:07 أرسل تقرير نشر السبت في 17:07 مرحباً، لدي إستفسار بخصوص return، في بعض الأحيان لا نستخدم return داخل الدالة، ولكن تأتي نتيجة تنفيذ الدالة نفس نتيجة تنفيذ الدالة بreturn السؤال هو: متى أستخدم return ومتى لا في الدالة. وشكراً. 2 اقتباس
0 Chihab Hedidi نشر السبت في 17:17 أرسل تقرير نشر السبت في 17:17 تستخدم return عندما تريد ان تعيد الدالة قيمة معينة لتستخدمها في مكان اخر داخل الكود، فمثلا لو كنت تحسب عملية حسابية وتريد حفظ النتيجة في متغير او تمريرها لدالة اخرى فانت بحاجة لاستخدام return. اما اذا كان الغرض من الدالة هو مجرد القيام بفعل معين مثل طباعة جملة في الطرفية او تنفيذ امر لا يتطلب استرجاع بيانات فليس من الضروري استخدامها، وفي هذه الحالة ستنفذ الدالة الكود الموجود بداخلها ثم تنتهي دون ارجاع شيء محدد. الفرق يظهر بوضوح عندما تحاول مساواة متغير بنتيجة الدالة، فاذا كانت تستخدم return سيتم تخزين القيمة في المتغير، واذا لم تستخدمها سيكون المتغير فارغا او يحتوي على None او undefined حسب لغة البرمجة المستخدمة. بالتوفيق إن شاء الله 1 اقتباس
0 محمد عاطف25 نشر السبت في 17:51 أرسل تقرير نشر السبت في 17:51 هناك نوعين من الدالة . دالة لا تعيد اى شئ و دالة تعيد نتيجة في نهايتها . فالداول التي لا تعيد شئ هي الدوال التي تقوم بتنفيذ مهمة معينة في الخلفية أو تقوم بالطباعة فهنا لا نقوم بإستخدام return . فمثلا لو اردت طباعة شئ ما للمستخدم أو لو أردت إرسال رسالة ما او وضع شئ في قاعدة البيانات او تسجيل شئ ما فهنا الدالة لا يفترض ان تعيد شئ . أما الدوال التي تعيد لك نتيجة فهي الدوال التي تريد إستخدام النتيجة النهائية التي وصلت لها الدالة . فمثلا لو اردت جمع رقمين فهنا انت تريد نتيجة الجمع او مثلا اردت إرسال رسالة ما وتريد ان تعرف هل الدالة أرسلتها ام لا هنا ستقوم بإستخدام return للحصول على النتيجة في نهاية الدالة وتستطيع وضع تلك النتيجة عند إستدعاء الدالة في متغير والتعامل معها كما تريد. 1 اقتباس
0 Mustafa Suleiman نشر السبت في 23:40 أرسل تقرير نشر السبت في 23:40 return نستخدمها لإنهاء تنفيذ الدالة فورًا وإرجاع قيمة أو None في حال لم تُحدد قيمة، وبمجرد أن تصل الدالة إلى جملة return، يتوقف تنفيذها تمامًا، وأي كود يأتي بعد return داخل نفس الدالة لن يتم تنفيذه. لكن ما معنى إرجاع قيمة؟ الأمر أشبه بأن تعطي أخاك نقود ليشتري لك شيئًا ما، وتخبره أن يذهب ويعود إليك به، وما يعود إليك به هي نفس طريقة عمل return في الدوال، فبدون كتابتها وتحديد ما الذي تريد إعادته، سيقوم أخاك بتنفيذ ما أردته لكن لن يعود إليك بشيء. ولكن كيف يقوم بتنفيذ ما أردته دون إعادة شيء؟ سيفعل ذلك داخل الدالة لكن خارجها أنت لن تحصل على أي قيمة لأنك لم تحدد له ما الـ return ؟ وسأشرح لك بالأمثلة من خلال جافاسكريبت: function myFunction() { return "Hello, world!"; } console.log(myFunction()); // Hello, world! لدينا دالة تسمى myFunction()، وتلك الدالة تعيد القيمة "Hello, world!". وعندما نقوم باستدعاء تلك الدالة، يتم إرجاع القيمة "Hello, world!" إلى الكود الذي استدعاها، والذي يتم طباعته في وحدة التحكم. والآن مثال آخر، لكن لن نكتب return بل لتنفيذ عملية حسابية داخل الدالة فقط: function myFunction() { let number = 1 + 1 number += 3 } console.log(myFunction()); // undefined ما حدث هنا هو أنني قمت بإنشاء متغير داخل الدالة باسم number ثم أعطيته قيمة 1 + 1 أي قيمة 2. بعد ذلك قمت بتغيير قيمته بإضافة العدد 3 إليه وبالتالي أصبح 5. لكن عند محاولة طباعة ذلك من خارج الدالة حصلت على undefined أي غير معرف، وذلك لأنني لم أقم بتحديد ما الذي سيتم إرجاعه من الدالة لم اكتب return. لاحظ بعد كتابتها ما الذي يحدث: function myFunction() { let number = 1 + 1 return number += 3 } console.log(myFunction()); // 5 سيتم طباعة 5 لأنني حددت له إرجاع قيمة number. وذلك ما أخبرتك به عند سرد قصة أخاك وأنه يمكن تنفيذ ما تريده داخل الدالة لكن خارجها لن يعطيك شيء. اقتباس
0 عبدالباسط ابراهيم نشر أمس الساعة 10:45 أرسل تقرير نشر أمس الساعة 10:45 إضافة لما سبق هناك استخدامًا آخر وهو استخدام return لإيقاف تنفيذ دالة ما فورًا عند تحقق شرط معين، دون أن يكون الهدف بالضرورة إرجاع قيمة يستفاد منها خارج الدالة. مثال: function greetUser(user) { if (!user) { return; // إيقاف تنفيذ الدالة هنا دون إرجاع أي قيمة محددة } console.log("مرحبًا " + user.name); } هنا لم أكتب return لأجل إرجاع نتيجة، بل لأمنع تنفيذ بقية الكود في حال لم يمرر مستخدم بدلًا من وضع بقية الكود بأكمله داخل else. اقتباس
0 بلال زيادة نشر منذ 8 ساعة أرسل تقرير نشر منذ 8 ساعة الفرق الأساسي من غير return، الدالة بترجع None (أو undefined في JavaScript) تلقائياً بعد ما تخلص تنفيذ كل الأسطر. الدالة بتنفذ اللي جواها (زي طباعة، تعديل متغير global، إلخ) بس ما بترجع قيمة تقدر تستخدمها بعدين. مع return، الدالة بترجع قيمة محددة تقدر تخزنها في متغير أو تستخدمها في تعبير (expression) تاني. # من غير return def اطبع_مربع(x): print(x * x) نتيجة = اطبع_مربع(5) # هتطبع 25 على الشاشة print(نتيجة) # None <-- القيمة اللي رجعت من الدالة # مع return def احسب_مربع(x): return x * x نتيجة = احسب_مربع(5) print(نتيجة) # 25 <-- فعلاً القيمة اللي احتاجها لو حسّيت إن النتيجة نفسها، غالباً ده لأنك بس بتستخدم print() عشان تشوف الناتج على الشاشة، مش لأنك فعلاً بتستخدم قيمة الإرجاع في مكان تاني. 1 اقتباس
السؤال
عبدالرحمن المغير
مرحباً،
لدي إستفسار بخصوص return،
في بعض الأحيان لا نستخدم return داخل الدالة، ولكن تأتي نتيجة تنفيذ الدالة نفس نتيجة تنفيذ الدالة بreturn
السؤال هو: متى أستخدم return ومتى لا في الدالة.
وشكراً.
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.