ما هي حلقات التكرار في الجافا سكريبت

اقرأ في هذا المقال


التكرار هو نمط أو مفهوم برمجة مضمن في العديد من لغات البرمجة، إنها ميزة تُستخدم في إنشاء وظيفة تستمر في استدعاء نفسها ولكن مع إدخال أصغر كل مرة متتالية حتى يتم تحقيق النتيجة المرجوة من الكود من البداية.

أسباب استخدام حلقات التكرار في الجافا سكريبت

أحد العوامل الرئيسية التي تجعل التكرار ضروري هو أنه يتم إنجاز المهام المعقدة في بضعة أسطر من التعليمات البرمجية بدلاً من عدم استخدام التكرار، وهذا يجعل قاعدة الكود تبدو بسيطة وأنيقة مما يوفر الوقت ويسمح بإنجاز المهام بسرعة، مع التخلص أيضًا من قاعدة التعليمات البرمجية الضخمة، على سبيل المثال، يمكننا كتابة دالة تكرارية لحساب أرقام العوامل كما هو موضح في المثال أدناه:

function factorial(num){

if(num === 0){

return 1;

}

return num * factorial(num-1)

}

console.log(factorial(20));

مزايا استخدام حلقات التكرار

  • يضيف التكرار الوضوح و”أحيانًا” تقليل الوقت اللازم لكتابة الكود وتصحيحه (ولكن لا يقلل بالضرورة من متطلبات المساحة أو سرعة التنفيذ).
  • توفير الوقت اللازم لكتابة الكود.
  • يؤدي بشكل أفضل في حل المشكلات بناءً على (tree structures).

أمثلة على استخدام حلقات التكرار

مثال (1): في المثال التالي أدناه سوف:

  • نعرض الأرقام بترتيب تنازلي بواسطة دالة تكرارية.
  • نستدعي الدالة التكرارية نفسها ما لم يكن رقم الإدخال أقل من أو يساوي (0).
  • تتوقف الوظيفة عندما يكون الرقم أقل من أو يساوي (0).

<!DOCTYPE html>

<html>

<head>

<title>Display numbers in Descending order</title>

<button onClick=”rec()”>Display numbers in descending</button>

</head>

<body>

<script>

function rec() {

var number = 10;

function DescendingOrder(number) {

if (number <= 0) {

return;

} else {

document.write(number, “<br>”);

DescendingOrder(number – 1);

}

}

DescendingOrder(number);

};

</script>

</body>

</html>

مثال (2): في المثال التالي أدناه، قمنا بطباعة الأرقام بترتيب تنازلي باستخدام الشرط (while) في دالة تكرارية:

<!DOCTYPE html>

<html>

<head>

<title>Display numbers in Descending order</title>

<button onClick=”rec()”> Click! </button>

</head>

<body>

<script>

function rec() {

const number = 10

function DescendingOrder(number) {

let i = 0;

while (number > i) {

document.write(number + “<br>”);

number–;

}

}

DescendingOrder(number);

};

</script>

</body>

</html>

المصدر: JavaScript: The Good Parts, Douglas Crockford, 2008 edition.JavaScript: The Definitive Guide, David Flanagan, 2011 edition.PROFESSIONAL JAVASCRIPT: FOR WEB DEVELOPERS, Nicholas C. Zakas,2012 edition.JavaScript, Stephen Blumenthal, 2017 edition.


شارك المقالة: