我想知道javascript(如果可能)如何访问与该函数的变量输入同名的变量。
function myfunc(var1)
{
var var1 = "World";
alert(var1);
}
如何告诉函数打印哪个var1?
答案 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");