作为函数参数传递的字符串未定义

时间:2017-01-07 21:23:54

标签: javascript function

当我将一个字符串作为参数传递给函数时,它返回undefined。那是为什么?

let a = 'b';

let test = (a) => console.log(a);

test(); // undefined

2 个答案:

答案 0 :(得分:2)

  

为什么?

因为你没有传递任何论据。请尝试以下方法:

test(a);

以下定义:

let test = (a) => console.log(a);

如下所示:

function test(a){
    console.log(a);
}

因此,当您调用test时,如果不传递任何参数,则a的值将不确定。

答案 1 :(得分:2)

当您致电test();时,您没有在()之间放置任何内容,因此您没有传递任何参数。

当您定义test(使用(a) =>)时,您创建了一个本地变量a,该变量用全局变量屏蔽同名。

要通过a,您必须实际传递它:test(a)