سؤال

وجئت عبر جزء التعليمات البرمجية التالية في كاوتش دي بي كتاب .

function(doc) {
  doc.tags && doc.tags.forEach(function(tag) {
    emit(tag, 1);
  });
}

ويمكن للمرء أن يفسر بعض كيف يعمل وظيفة (علامة) جزء؟

والشكر والتحيات،

وراج

هل كانت مفيدة؟

المحلول

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

function emitTag(tag) {
    emit(tag, 1);
}
doc.tags && doc.tags.forEach(emitTag);

وطريقة array.forEach باستدعاء الدالة تعطى مرة واحدة لكل من البنود في array في النظام. وهي طريقة قياسية في ECMAScript الطبعة الخامسة، وكان في العديد من المتصفحات لبعض الوقت، ولكن ليس ل JScript (IE). وأنا على التخمين كاوتش دي بي يعتني هذه المسألة بالنسبة لك بالرغم من ذلك.

نصائح أخرى

function(tag) {...} 

ويحصل على استدعاء "لكل" علامة في "doc.tags" مع حجة "العلامة" التي تم تمريرها إلى وظيفة امدا في المسألة.

وforEach ببساطة بالتكرار عبر مجموعة والمكالمات وظيفة كنت تمر بها مع كل عنصر يجدها.

وأن ندرك أن ليس كل دعم المتصفح ذلك، هناك $.forEach وظيفة مساعد في مسج، وهو أكثر أمانا من حيث دعم المتصفح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top