하지 않는 이유는이 작품 :jQuery를 - 변수 다른 함수에서 함수 변수를 호출
var foo = function() {
...
};
var boo = function() {
...
el.foo();
}
?
foo가 정의되지 않은 오류가 발생합니다. 하지만 방금 위에 정의 ...
하지 않는 이유는이 작품 :jQuery를 - 변수 다른 함수에서 함수 변수를 호출
var foo = function() {
...
};
var boo = function() {
...
el.foo();
}
?
foo가 정의되지 않은 오류가 발생합니다. 하지만 방금 위에 정의 ...
그냥 el.foo()가 아니라 foo()를 호출하면됩니다. (당신이 이것을 사용하는 방법에 대해 뭔가 빠뜨린 것이 아니라면)
왜냐하면 foo
은 el
의 속성이 아니기 때문입니다. 그것은 변수입니다.
당신은해야 할 것 : 당신이 있다면
var foo = function() {
//...
};
var boo = function() {
//...
foo();
}
그것은 작동합니다 :
이foo()
처럼 보이는이 경우
var el = {};
el.foo = function() {
// ...
};
var boo = function() {
//...
el.foo();
}
객체 el
의 속성하지 않은 것입니다. 함수를 정의했지만 표시된 예제에서 전역 함수 일 수 있습니다. 당신이 foo()
변수 el
작업 할 경우, 다음과 같이 함수에 전달 : foo는 이후
var foo = function(element) {
//do something with this element
};
var boo = function() {
...
foo(el); //pass el into the foo function so it can work on it.
}
은 따라서 당신이 엘의 컨텍스트에서 foo를 호출 할 수 없습니다 엘에 부착 정의 된 함수/아니다. foo를 직접 호출해야합니다. 당신은 foo는이 엘의 컨텍스트에 부착 된 호출해야하는 경우
var foo = function() {
...
};
var boo = function() {
...
foo();
}
그러나 다음이 시도 :
var boo = function() {
...
foo.call(el);//This calls foo in el's context
}
내가 제대로 이해하면, 당신은 jQuery 플러그인 기능 만들어야합니다
jQuery.fn.foo = function(){
return this.each(function(){
// element-specific code here
});
};
var boo = function() {
...
el.foo();
}
전화하려는 경우 다음과 같이 설정합니다.
el.foo()
그리고 엘의 jQuery 객체, 당신은으로 '갑'을 정의 할 필요가있다이 경우
var el = $("#smth");
el.foo();
같은 것입니다 : 당신이 단지에서 'foo는'전화를 시도하는 경우에, 그렇지 않으면
$.fn.foo = function() {
....
}
은 '엘'없이 그냥 부르면됩니다.
var foo = function() {
...
};
var boo = function() {
...
foo();
}
희망이 있습니다.
'el.foo()'대신 'foo()'를 호출하십시오. – JCOC611
우리가 누락 된 중요한 컨텍스트가 있다고 생각합니다. 'el.foo()'는 (여기서 볼 수 있듯이)'el' 객체의 메소드로'foo'를 생성하지 않기 때문에 여기서는 작동하지 않습니다 - 당신은 일반 변수를 생성합니다. – sdleihssirhc