2014-07-19 2 views
-2

두 개의 객체, 객체 1과 객체 2가 있습니다. 객체 1은 객체 2를 인수로 요구하는 전역 함수를 호출하지만 객체 2는 객체 1을 인수로 사용하여 동일한 전역 함수를 호출합니다. 나는 다음과 같은 JSLint 메시지가 :두 개체가 서로 사용해야합니까?

'obj1' was used before it was defined:  do_something(obj1); 

내 코드가 실행할 때 실제 문제가 없을 것입니다,하지만 난 JS-보풀이 내게 이런 얘기를 중지 그래서 난 내 코드를 조정할 수 있는지 궁금 작동하는 방법. JSLint가 유용하다는 것을 알았고이 메시지는 JSLint를 사용하는 데 방해가 될 수 있습니다. 내 코드는 다음과 유사합니다

var obj1 = { 
    foo: function() { 
     bar(obj2); 
    } 
}; 
var obj2 = { 
    foo: function() { 
     bar(obj1); 
    } 
}; 

편집 : 는 대답은 아래 완벽하게 나를 위해 일했습니다. 나는 그것을 생각하지 않았다는 것에 놀랐습니다!

+0

을 확인 무엇합니까 같이 코드를 작성하지 않았나요? JSLint는 실제보다 훨씬 똑똑하다고 생각합니다 :) – Pointy

+0

이 함수를 정의하기 위해'Object.prototype'을 사용하고 있습니까? 그런 다음'obj2.do_something (obj1)'을 사용해야합니다. – royhowie

답변

1

이 당신이 원하는 것을 할 수있다 :

또한
var obj1, obj2; 

obj1 = { // Login Prompt. Logs you in as 'devil' only! 
    foo: function() { 
     bar(obj2); 
    } 
}; 
obj2 = { // Login Prompt. Logs you in as 'devil' only! 
    foo: function() { 
     bar(obj1); 
    } 
}; 

http://jshint.com/

관련 문제