وظائف المرافق
تأتي العديد من أطر عمل JavaScript مع عدد كبير من الوظائف المساعدة التي تسهل تطوير التطبيقات باستخدام JavaScript. هناك الكثير مما يمكن إضافته إلى هذه المقالة، لذا سأناقش إحدى الوظائف الأكثر إلحاحًا في معظم الأطر.
إذا سبق لك العمل مع مصفوفات JavaScript ، فمن المحتمل أنك على دراية باستخدام الحلقات للتكرار على مصفوفة ومعالجة قيمها. على سبيل المثال، خذ بعين الاعتبار الكود الموجود في القائمة 2:
القائمة 2: الطريقة التقليدية للتكرار عبر مصفوفة JavaScript
var Fruit = ['apple', 'banana', 'orange'];
for(var i = 0; i < Fruit.length; i++) {
تنبيه(الفاكهة[i]);
}
الكود الموجود في القائمة 2 صحيح، لكنه مرهق بعض الشيء. تشتمل معظم أطر عمل JavaScript على كل وظيفة، والتي تستدعي وظيفة محددة لكل عنصر في المصفوفة. باستخدام MooTools، يمكن إنجاز نفس العمليات في القائمة 2 باستخدام الكود الموجود في القائمة 3.
القائمة 3: استخدام كل وظيفة من MooTools
["تفاحة"، "موز"، "برتقالي"].each(function(item) {
تنبيه (البند)؛
});
القائمة 3 متطابقة نحويًا مع Prototype وjQuery، مع وجود اختلافات طفيفة بين YUI وExtJS. ومع ذلك، يختلف بناء الجملة عبر أطر عمل مختلفة عند تطبيقه على التجزئة أو الكائنات. على سبيل المثال، في MooTools، يمكنك استخدام الكود الموجود في القائمة التالية:
القائمة 4: استخدام كل وظيفة من MooTools على كائنات فردية من أزواج المفاتيح/القيمة
var hash = new Hash({name: "Joe Lennon"، البريد الإلكتروني: " [email protected] "});
hash.each(function(value, key) {
تنبيه (مفتاح + ":" + قيمة)؛
});
ومع ذلك، باستخدام مكتبة النموذج الأولي، يبدو هذا تمامًا مثل الكود الموجود في القائمة 5:
القائمة 5: استخدام كل وظيفة من وظائف النموذج الأولي على كائنات فردية من أزواج المفاتيح/القيمة
var hash = $H({name: "Joe Lennon"، البريد الإلكتروني: " [email protected] "});
hash.each(وظيفة(زوج) {
تنبيه (زوج.مفتاح + ":" + زوج. قيمة)؛
});
يحتوي كل إطار على العديد من الوظائف العملية، والتي يتم تقسيمها عادةً إلى وظيفة السلسلة، ووظيفة الأرقام، ووظيفة المصفوفة، ووظيفة التجزئة، ووظيفة التاريخ، وما إلى ذلك. لمعرفة المزيد، راجع دليل واجهة برمجة التطبيقات (API) الخاص بإطار عمل JavaScript ذي الصلة.
عنوان إعادة الطباعة: http://www.denisdeng.com/?p=716
العنوان الأصلي: http://www.ibm.com/developerworks/web/library/wa-jsframeworks/index.html