Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查函数内的参数名称_Javascript_Function_Callback_Arguments_Identifier - Fatal编程技术网

Javascript 检查函数内的参数名称

Javascript 检查函数内的参数名称,javascript,function,callback,arguments,identifier,Javascript,Function,Callback,Arguments,Identifier,javascript中是否有方法检查函数中的参数标识符名称???例如: var config = function(callback){ if(callback.definedArgumentName == 'argumentName') //do something }; config(function(argumentName){ //do something }); 我在问是否有什么东西可以替代本例中的-callback.definedArgumentNam

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

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

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

我在问是否有什么东西可以替代本例中的-callback.definedArgumentName.

所以我发布了这个问题,因为我想知道在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)
});

这不是一个简单的方法,而是
回调
到一个字符串,并从中检索参数名。你到底为什么要这么做?这听起来像是一个可怕的黑客,可能应该以其他方式解决。你真正想解决的问题是什么?我想了解在angularJs中,他们是如何只通过函数defention中的参数名称来了解函数defention中提供的srvices的,我指的是例如myApp.controller('name',function($scope,myService){});