Javascript 检查函数内的参数名称
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
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){});