2011-08-24 4 views
3

간단한 모양을 렌더링하고 애니메이션을 적용하는 HTML5의 새로운 캔버스 태그를 실험하고 있습니다. 이 코드는 파이어 폭스에서 훌륭하게 실행하지만, 크롬에서 전혀 작동하지 않는, 어떤 이유'yield'키워드가있는 자바 스크립트 생성자

function initializeSquarePositions(rows, columns) { 
    for (var x = 0; x < canvas.width; x += canvas.width/columns) 
     for (var y = 0; y < canvas.height; y += canvas.height/rows) 
      yield {x: x, y: y}; 
} 

: 내 캔버스의 스크립트는 다음과 같은 기능을 가지고 있습니다. 두 브라우저 모두 최신 버전이며, 스크립트 태그에 버전 = 1.8 (버전 = 1.7은 작동하지 않음)으로 표시되어 있습니다.

Chrome에서 'yield'키워드가 작동하지 않습니까? 나는 그것이 확실히 희망한다. 발전기는 더 깨끗한 코드를 만듭니다!

그 질문에 대한 구체적인 예 또는 대답을 찾을 수 없습니다.

답변

4

반복자와 생성기는 Mozilla 확장 기능이므로 Mozilla 구현 (JavaScript (TM))에서만 사용할 수 있습니다.

이러한 기능은 ECMAScript Standard의 다음 버전 인 ECMAScript Harmony에 도입 될 예정이므로 "당분간"이라고 말했어.

+0

그게 설명해! 얼마나 실망 스럽습니까 .. 고마워요. –

+0

Google 크롬에 'yield'가 방금 추가되면서이 답변이 구식입니다. – hippietrail

1

Chrome에서 'yield'키워드가 작동하지 않습니까?

그게 전부입니다. 죄송합니다. yieldlet은 Chrome (또는 Opera 또는 Safari 또는 IE)에 아직 없습니다.

+1

정말요? Firefox가 실제로 뒤쳐져 있습니다 ... Firefox 2 이후 Mozilla에서 생성기 및 반복기를 지원했습니다 (2008 년 8 월, 저는 믿습니다)! –

+0

Google 크롬에 'yield'가 방금 추가되면서이 답변이 구식입니다. – hippietrail

+1

어디서? 카나리아에서? 그것은 확실히 안정적이지 않고 Dev에 있지도 않습니다. –