2014-07-27 7 views
1

함수가 페이지에 있는지 확인하는 스크립트가 필요합니다.있는 경우 함수를 호출하고 그렇지 않으면 다른 함수를 호출합니다. 또한 웹 페이지에 자동으로 입력되도록 스크립트가 필요합니다. 당신은 자바 스크립트에 정의되지 않은 수의 이름 확인에주의 할 필요가javascript가 함수를 검사하고 존재하는 경우 출력을 제공합니다.

if(Examplefunction) 
    difffunction(); 
else 
    otherfunction(); 

답변

0

:

이 내가 생각하는 것이다. 오류를 얻을 것입니다 정의되지 않은 이름 참조 :

> if (Examplefunction) console.log('exists'); else console.log('???') 
ReferenceError: Examplefunction is not defined 

typeof와 이름을 확인을하지만, 그 이름이 정의되었는지의 여부, 안전입니다. 변수가 truthy 값으로 정의되어있는 경우 따라서, 확인, 당신은 사용해야합니다

if (typeof Examplefunction != 'undefined' && Examplefunction) 
    difffunction(); 
else 
    otherfuunction(); 
0

그것은 간단합니다 같이

:

if(funcNameHere){ 
    funcNameHere(); // executes function 
    console.log('function exists'); 
} 
else{ 
    someOtherFunction(); // you can always execute another function 
    console.log("function doesn't exist"); 
} 

모두를 수행하는 기능을 만들고 싶어

function funcSwitch(func1, func2){ 
    var exc = func1 ? func1 : func2; 
    exc(); 
} 
// check to see if `firstFunction` exists then call - or call `secondFunction` 
fucSwitch(firstFunction, secondFunction); 

물론 변수 인 함수를 전달하지 않으면 작동하지 않습니다. 함수 이름은 기본적으로 JavaScript에서 ()으로 실행되는 변수입니다. PHP에 익숙하다면 함수 이름은 String이어야합니다. JavaScript의 변수입니다.

0
if(typeof name === 'function') { 
    name(); 
} 
else { 
    // do whatever 
} 

끔찍한 디자인입니다. 예를 들어 예상되는 인수의 수를 확인할 수 없습니다.

관련 문제