2014-10-23 3 views
0

나는 다음과 같은 기능을 가지고 :자바 스크립트 형식 오류, 아니 기능

function handler(){ 
    // ... 
} 

그리고 아래와 같이, JS 다른 파일에서이 함수를 호출 :

if(window.handler()) 
    handler(); 

하지만 난에 오류가 다음있어 불을 지르고 콘솔 :

형식 오류 : window.handler 나를 도울 수있는 기능

사람이 아니다?

감사합니다. 당신은 함수가 존재하는지 확인하려면

답변

1

,이 방법으로 수행

if (window.alertHandler) 
    alertHandler(); 

if (window.myFunc()) 실행 먼저 기능과 반환 값을 확인합니다. 그러나 은 윈도우 객체에 myFunc이 있는지 확인하면 실행되지 않습니다.

window.handler = function() { 
    // function code here 
}; 

if (window.handler) { // check if the function actually exist 
    window.handler(); // call the function 
} 

하거나 경우에 변경 :

2

이 같은 함수를 선언하거나

if (typeof handler === 'function') { 
    handler(); 
} 
0

창 개체의 방법으로이 함수를 호출하려면 먼저 당신이 그것을하는 방법해야합니다 창 개체의

function somefunction(){ 
    // ... 
} 

window.handler = somefunction; 

//NOW you can reference it like that 

window.handler(); 

다른 답변에서와 같이 익명의 기능을 직접 할당 할 수도 있습니다.