1

В чем разница между функциями генератора, созданные с function и function*В чем разница между функцией и функцией *

function a(i){ 
    for(;i>0;i--){ 
     yield i*i; 
    } 
} 
function *b(i){ 
    for(;i>0;i--){ 
     yield i*i*i; 
    } 
} 
+0

Я видел, как этот вопрос, но в настоящее время не может найти ... –

+0

Или это одна: [Какова цель звездочки (*) в функции генератора ES6] (http://stackoverflow.com/ вопросы/27778105/что-цель-в-звездочки-в-ES6-генератор функций) –

ответ

0

Генераторы, созданные с function являются частью предыдущего проекта ES6.

//They have differrent prototypes 
console.log(a.prototype.constructor.constructor,b.prototype.constructor.constructor);//function Function() function GeneratorFunction() 
let a1=a(10); 
let b1=b(10); 
//both create generators... 
console.log(a1,b1);//Generator { } Generator { } 
//but different generators: one returns value, another returns an object of special format 
console.log(a1.next(),b1.next());//100 Object { value: 1000, done: false } 
for(let a2 of a1)console.log(a2); 
for(let b2 of b1)console.log(b2); 
//They are equal when used in for ... of. 
Смежные вопросы