检查函数内的参数名称

时间:2014-10-17 14:53:30

标签: javascript function callback arguments identifier

在javascript中是否有办法检查函数内的参数标识符名称???例如:

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

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

我在问这个例子中是否有可以替换-callback.definedArgumentName-的内容。

1 个答案:

答案 0 :(得分:0)

所以我发布了这个问题,因为我想知道在AngularJs中他们如何识别你传递给控制器​​的服务的顺序,以及你在控制器防御中指定的控制器的名称。

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)
});