javascript:获取函数中传递的实际参数的名称

时间:2015-07-09 12:28:32

标签: javascript

我们能知道函数中传递的实际参数的名称吗?喜欢

func(a,b,c,d); 

当我们调用它时,我想在输出中打印a,b,c,d。像我将func定义为

的东西
function func(e,f,g,h) {
// do something here so that
console.log('something');//prints a,b,c,d as output
}

编辑:以下内容不能完全达到目的,但如果在与此问题相关的javascript中无法完成任何操作,那么以下内容可以作为答案。看,如果有人可以围绕这个建立?

function func(){
    var args = Array.prototype.slice.call(arguments),result='';

        for(var i in this){

            if(args.indexOf( this[i])!==-1 ){
                result+=i+',';
                }

        }

    console.log(result);
    }

所以,如果我打电话,

var a=22, b=46, c=99;
func.call(this,a,b,c);//or func(a,b,c)

将打印a,b,c但

在以下情况下,它将失败:

var w=4,a=4, b=4, c=99;

然后输出将是a,b,c,w这是错误的,因为w不是传递的参数。

看,如果有人可以围绕这个建立?

1 个答案:

答案 0 :(得分:0)

  

我需要这个,因为名称还包含我在函数逻辑中需要的一些信息

     

如果我调用func(a,b,c,d),那么如果func中的逻辑有一个流,如果我用func(l,m,n,d)调用它,则func算法中的逻辑流程会发生变化,因此输出也会改变

您对JS的理解,或您对问题的概念,或者两者都有可能存在严重错误。

函数无法知道,也不知道,也不知道,也没有理由需要知道调用它们时使用了哪些变量,值或表达式。

我不知道这是否能解决您的问题,无论它是什么,但请考虑采取以下措施:

func({a,b,c,d}); 

{a,b,c,d}格式创建一个对象,其键为a等,其值为变量a。这是ES6语法。在ES5中:

func({a: a, b: b, c: c, d: d}); 

然后,在您的函数中,您可以查看作为参数传入的对象中的键。