为什么下面的代码不会提示 undefined?
function test(param){
var param = param;
alert(param);
}
test("SO"); // alerts SO
分配给局部变量的参数如何与函数的参数匹配,而不是与局部变量本身匹配?
正确的值是否对函数参数具有“匹配偏好”或原因是什么?
最佳答案
var param = param;
第一个是var声明:
var param;
第二个是作业:
param = param;
var 声明什么都不做,因为变量已经存在(变量的范围是整个函数调用)。赋值什么也不做,因为它保持相同的值。
您可以通过分配不同的值来检查:
function test(param){
console.log('1', param) // logs "SO"
var param = param+"4";
console.log('2', param) // logs "SO4"
}
test("SO");
关于javascript - 将参数分配给具有相同名称的变量如何在 javascript 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26465778/