在javascript中是否有办法检查函数内的参数标识符名称???例如:
var config = function(callback){
if(callback.definedArgumentName == 'argumentName') //do something
};
config(function(argumentName){
//do something
});
我在问这个例子中是否有可以替换-callback.definedArgumentName-的内容。
答案 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)
});