중첩 된 함수에서 arguments 객체에 문제가 발생했습니다. arguments.length는 부모 함수에서 가져온 것처럼 보이지만 [0] 인수는 중첩 된 함수에서 가져옵니다. 아무도 왜 이런 일이 발생하는지 설명 할 수 없습니까? 부모 foo의 주장을 술집에 전달하는 가장 효과적인 방법은 무엇입니까? (변경하지 않는 한)중첩 함수에서 부모 함수 인수를 전달합니까?
$.fn.foo = function(color1, color2, time){
return this.each(function bar(){
for(var i = 0;i < (arguments.length - 1);i++){
alert(arguments.length); //this is taken from foo function and returns 2
alert(arguments[i]); //this is taken from bar
}
});
};
그냥 호기심 때문에, 익명의 함수 대신에 이름이 지정된 함수 인'bar'를 각 함수에 전달할 이유가 있습니까? – Zirak
@Zirak, 아마도 질문을 명확하게하고 그 이름으로 함수를 참조 할 수있을 것입니다. 그 이유는 실제로 좋은 생각입니다! – davin