2014-10-03 3 views
0

저는 자바 스크립트로 시작해서 x 좌표와 반경을 정의하기 위해 자바 스크립트를 사용하는 아래의 (svg) 코드를 이해하는 데 문제가 있습니다. 데이터 바인딩하는 방법을 이해하지만 내 질문은 - 두 개의 인수를 사용하는 함수에 대한 : d 및 i, 함수의 첫 번째 인수는 데이터 집합 및 두 번째는 원에 대한 카운터가 정의됩니다 , 즉 첫 번째 원이 0, 두 번째 원이 1 등이됩니다.누가이 javascript 스 니펫의 인수를 정의합니까?

var dataset = [ 5, 10, 15, 20, 25 ]; 
var circles = svg.selectAll("circle") 
       .data(dataset) 
       .enter() 
       .append("circle"); 
circles.attr("cx", function(d, i) { 
      return (i * 50) + 25; 
     }) 
     .attr("cy", h/2) 
     .attr("r", function(d) { 
      return d; 
     }); 

감사합니다.

+0

아마도'.attr' 함수 내부에있을 것입니다. –

답변

2

이는 D3이고 그래서 d3 documentation defines what the function expects

값이 모든 요소들이 동일한 특성 값 주어진 일정한 경우; 그렇지 않으면 value가 함수이면 함수는 현재 선택된 요소 (순서대로)에 대해 평가되고 현재의 datum d와 현재 인덱스 i를 전달하며이 컨텍스트는 현재 DOM 요소로 사용됩니다.

+0

고마워, 내 질문에 대한 명확한 설명을 제공합니다. 하지만 다음 번엔 자바 스크립트에서 인수가 값없이 함수에 전달되고 해당 값이 변경되거나 함수 본문 내부의 값으로 주어지는 개념이 있는지 궁금합니다. 따라서 초기에 전달되는 인수는 더 많은 자리 표시 자와 유사합니다. (다시 말해서, 이것은 순수한 자바 스크립트에 관한 것이지 d3이 아닙니다). 나는 내가 이런 종류의 것을 들었다고 생각하기 때문에 이것을 묻는다. 정말로 기억할 수 없다. 그리고 몇 번이고 다시, 나는 가치가 주어진 곳을 파악할 수없는 기능들에 부딪 치고 있습니다. – IAMTubby

+0

다른 질문이있을 경우 Ask Question 버튼을 사용하여 질문하십시오. –

관련 문제