2010-02-27 2 views
0

하자 내가 순간 doSometingNow() 생성 callSomethingInFutureNotExistNow() 아직 존재하지에 모든 브라우저에서 향후 javascript 기능 호환성을 호출 하시겠습니까?

function doSomethingNow(){ 

    callSomethingInFutureNotExistNow(); 
} 

아래 같은 기능을 가지고 말한다. 파이어 폭스에서 미래에 만들어 질 것입니다, 이것은 파이어 버그에 어떤 오류도 보여주지 않습니다. 이러한 종류의 기능은 오류를 발생시키지 않고 모든 브라우저에서 호환됩니까?

+0

같이 확인 당신이 더 엄격 할 경우 또는 유형을 할 수

function doSomethingNow(){ if (callSomethingInFutureNotExistNow) { callSomethingInFutureNotExistNow(); } } 

을 확인 일부 널 (null)을 수행 할 수 있습니다,하지만 안전을 위해 오래된 브라우저에서 렌더링 문제가 있습니까? 또는 휴대 전화 브라우저? 어떤 오류라도 throw 될 것입니까? – cometta

+0

아니요. doSomethingNow를 호출하기 전에 callSomethingInFutureNotExistNow를 선언하는 것을 "잊었 기"때문입니다. –

답변

1

자바 스크립트가 컴파일되지 않았으므로 을 호출하지 않은 것으로 가정하여 게시 한 코드에 오류가 발생하면 안됩니다. callSomethingInFutureNotExistNow이 선언되었습니다.

는 당신이 하나가 될 것입니다이

function doSomethingNow(){ 

    if (typeof(callSomethingInFutureNotExistNow) === 'function') { 
    callSomethingInFutureNotExistNow(); 
    } 
} 
+0

그래서 이런 식으로 사용해도 되겠습니까? 어떤 브라우저도 깨지 않고? – cometta

+0

doSomethingNow는 callSomethingInFuture가 선언되었을 때 doSomethingNow가 호출 될 때마다 달라 지므로 절대로 말하지 않을 것입니다. 내 안전 수표 중 하나를 안전하게 사용하십시오. – bendewey

+0

오래된 브라우저에서 렌더링 문제가 있습니까? 또는 휴대 전화 브라우저? 어떤 오류라도 throw 될 것입니까? – cometta

관련 문제