函数变量和函数变量具有相同的名称。怎么访问?

时间:2012-01-10 06:33:21

标签: javascript function syntax functional-programming var

我想知道javascript(如果可能)如何访问与该函数的变量输入同名的变量。

function myfunc(var1)
{
    var var1 = "World";
    alert(var1);
}

如何告诉函数打印哪个var1?

2 个答案:

答案 0 :(得分:6)

这实际上并没有定义具有相同名称的第二个变量。即使使用var语句,您只需覆盖同名的函数参数。

只需给你的第二个变量一个唯一的名称。

(顺便说一句,即使这实际上有效,它仍然是一个糟糕的想法,因为它会让你的代码难以阅读。)

答案 1 :(得分:3)

nnnnnn是正确的,我测试了它。传递给函数的参数可以通过参数名称和arguments变量以两种方式访问​​。 arguments[0]将是第一个参数的值。

在下面的示例中,您会看到2个提醒,第一个提示"Hello",第二个提示"World"。但是他们都说"World"证明赋值var1实际上改变了传递给函数的参数的值。

function myfunc(var1) {
    var var1 = "World";
    alert(arguments[0]);
    alert(var1);
}

myfunc("Hello");