2014-10-17 3 views
0

자바 스크립트에서 함수 내부에서 인수 식별자 이름을 확인하는 방법이 있습니까 ??? 예 :함수 내에서 인수 이름 확인

var config = function(callback){ 
    if(callback.definedArgumentName == 'argumentName') //do something 
}; 

config(function(argumentName){ 
    //do something 
}); 

이 예에서 -callback.definedArgumentName-을 대체 할 수있는 것이 있는지 묻습니다.

+1

하지 간단한 방법을하지만, [당신은 변환 할 수 있습니다] 그것에서 (http://jsfiddle.net/ydcqa3vo/2/)'문자열로 callback' 및 검색 인수 이름 . – Teemu

+2

왜 세계에서이 작업을하려고하십니까? 이것은 아마 다른 방법으로 해결해야 할 끔찍한 해킹처럼 들립니다. 당신은 정말로 어떤 문제를 해결하려고합니까? – jfriend00

+0

angularJs에서 함수 defenition의 매개 변수 이름에 의해서만 제공되는 srvices를 알고 싶습니다. –

답변

0

그래서 AngularJ에서 컨트롤러에 전달한 서비스의 순서와 컨트롤러 defenition에 지정한 컨트롤러의 이름을 어떻게 인식하는지 궁금해서 질문을 올렸습니다.

Teemu의 답변이 정확할 수 있습니다. 나는 그가 조언을 시도하고 분명히 당신이 할 수있는 몇 가지 기능이 필요하지 않을 것 같았습니다. 내가 예를 들어 만든 :

var services = { 
       '$scope': 'this is the scope service. ', 
       'myService' : 'this is your own service.' 
       }; 

function controller(callback){ 
    var args = callback.toString().split('('); 
    args.splice(0,1); 
    args = args.join().split(')'); 
    args.splice(1,args.length-1); 
    args = args.join(); 
    argNames = args.split(','); 
    callback(services[argNames[0]],services[argNames[1]]) 
} 

controller(function($scope,myService){ 
    console.log(services.$scope,services.myService) 
});