2012-06-20 3 views
1

나는 실행하면javascript jquery 함수는 특정 유형의 함수를 매개 변수로 사용합니까? JQuery와에

$('li').each(some-function(i){}); 

IDE는 일부 기능이 인덱스를 기대하고 있음을 알 것 같다.

그것은 내가 특정 매개 변수를 기대하는 매개 변수 중 하나 인 것으로 기대하는 javascript/jquery에서 함수를 만들 수 있다고 생각합니다. (나는 자바 스크립트에 익숙하지 않다)

나는 그것을 C 언어로하는 법을 알고있다.

나는 이런 식으로 뭔가를 찾고 있어요 :

void somefuncA (void (*funcB)(int)){ 
    //do stuff with funcB 
    (*funcB)(5); 
} 

그래서 기능 'somefuncA'는 매개 변수로 하나 개의 정수를 얻는 함수 funcB을 얻을 것으로 기대하고 무언가를.

희망이 있으니 .. 감사합니다. p.s. 저는 JavaScript가 약한 타입이라는 것을 알고 있습니다. 그러나 .each()은 매개 변수로 함수를 기대하고 있습니다. 함수가 아니라 매개 변수로 int를 가진 함수를 기대합니다.

+0

목표를 설명해주십시오. 그것이 JavaScript에서 타입을 선언 할 수 없다면 요청할 수 없습니다. –

+0

정확히 무엇을하고 싶은지 알려주세요. – Subhajit

+1

* 그리고 어떤 함수가 아니라 매개 변수로 int를 가진 함수. * 여기에 잘못되었습니다.'each'는 이런 종류의 함수를 기대하지 않고, 함수가 그것을 받아들이면 그냥 인덱스를 제공 할 것입니다. 그렇지 않은 함수를 전달하면 여전히 문제가 없습니다. – Yoshi

답변

1

그것은 내가하는 기능을 할 수 있다고 생각하는 날 리드 것입니다 javacript/jquery에서 은 특정 매개 변수 중 하나 인 것으로 간주하고 특정 매개 변수를 기대합니다.

여기에서 대리인에 대해 이야기 할 수 있습니다. Functions are first-class objects in JavaScript. 그들은 다른 언어들처럼 타입 안전 포인터를 정의하지 않습니다. 함수는 원하는만큼의 매개 변수를 정의 할 수 있지만 하나만 전달할 필요는 없습니다. 건너 뛴 매개 변수는 정의되지 않습니다. 또한 리턴 유형도 정의하지 않습니다. 함수는 값을 반환하거나 반환하지 않을 수 있습니다.

IDE는 함수 호출을 찾고 매개 변수가 제공되는 힌트를 제공하기에 충분히 똑똑합니다. 함수에서 이러한 매개 변수를 자유롭게 사용하거나 건너 뛸 수 있습니다.

$('li').each(function(){ 
    // do something 
}); 

여기서 매개 변수를 사용하지 않는 익명의 함수를 만듭니다. jQuery는 인덱스 나 다른 매개 변수를 내부에 전달하지만 오류가 발생하지는 않습니다. jQuery에서 제공하는 index 매개 변수를 사용하는 함수를 만들 수도 있습니다.

$('li').each(function(index){ 
    // do something 
}); 
0

무엇을 묻고 있습니까?

function somefuncA (funct, parameters){ 
    //do stuff with funcB 
    alert(funct(parameters)); 
} 

주로 자바 스크립트의 콜백에 사용됩니다. 두 개의 매개 변수와

0
function ​myFunc​(fn, param) 
{ 
    if (typeof fn != "function") { 
     throw new TypeError(); 
    } 
    fn.call(this, param); 
} 

전화 myFucn 먼저 PARAM 기능이고, 두 번째 PARAM은 매개 변수 '안녕하세요'가

myFunc(function(m){ 
    alert(m); 
}, 'Hello!');​ 

DEMO.

관련 문제