ما هي "الوظيفة *" في JavaScript؟



Answers

انها وظيفة مولد - وقال ذلك في الصفحة التي تستشهد بها ، في التعليق الذي استبدلت مع "هذا هو الخط المثير للاهتمام" ...

إنها في الأساس طريقة لتحديد التسلسلات برمجيًا بحيث يمكن تمريرها والعناصر التي يتم الوصول إليها بواسطة الفهرس دون الحاجة إلى حساب التسلسل بأكمله (ربما لانهائي في الحجم) مسبقًا.

Question

عثرت في this الصفحة على نوع وظيفة JavaScript جديد:

// NOTE: "function*" is not supported yet in Firefox.
// Remove the asterisk in order for this code to work in Firefox 13 

function* fibonacci() { // !!! this is the interesting line !!!
    let [prev, curr] = [0, 1];
    for (;;) {
        [prev, curr] = [curr, prev + curr];
        yield curr;
    }
}

أنا بالفعل أعرف ما yield ، let و [?,?]=[?,?] ، ولكن ليس لديهم فكرة عما يقصد به function* . ما هذا؟

لا تهتم PS بمحاولة Google ، فمن impossible البحث عن التعبيرات ذات العلامات النجمية ( يتم استخدامها كعناصر نائبة ).






Related