Javascript RequireJS-获取参数名称

Javascript RequireJS-获取参数名称,javascript,arguments,requirejs,Javascript,Arguments,Requirejs,我有一个使用requirejs的应用程序,方法非常简单: define([ 'jquery', 'scriptone', 'scripttwo' ], function ($,scriptone,scripttwo) { for(var i=0, max=arguments.length; i<max; i++){ // What is the name of the argument ???? } }); 定义([ “jquery”, “scri

我有一个使用requirejs的应用程序,方法非常简单:

define([
    'jquery',
    'scriptone',
    'scripttwo'
], function ($,scriptone,scripttwo) {

for(var i=0, max=arguments.length; i<max; i++){

    // What is the name of the argument ????

}

});
定义([
“jquery”,
“scriptone”,
“剧本二”
],函数($,脚本一,脚本二){

对于(var i=0,max=arguments.length;i,在运行时永远不需要知道变量名。应用程序有问题

但是,您可以这样做。获取、删除注释等,并解析参数列表。若要获取函数本身,您可以使用deprecated,但最好获取对它的命名引用。因此,您可能最终会

var fn = arguments.callee.toString();
var args = fn
  .replace(/\/\/.*?\n|\/\*.*?\*\//g, "") // remove comments
  .match(/^function\s*\S*\s*\(\s*(.+?)\s*\)/)[1] // match arguments list
  .split(/\s*,\s*/) // get argument names
for (var i=0; i<arguments.length; i++)
  console.log((args[i] || "unnamed argument")+":", arguments[i]);
var fn=arguments.callee.toString();
变量args=fn
.replace(//\/\/.*?\n |\/\*.?\*\//g,“”//删除注释
.match(/^function\s*\s*\s*\(\s*(.+?)\s*\)/)[1]//匹配参数列表
.split(/\s*,\s*/)//获取参数名称

对于(var i=0;api中有一个requirejs.arguments,从未尝试过,可能很有趣。我知道这看起来很奇怪,但我正在使用参数的名称来构建主对象。实际上,我找到了一种更好的方法,使用数组并将数组索引与参数索引链接起来。