function xxx(id){
var id = 9;
return arguments[0]
//return id;输出也是9
}
var id = 9;
return arguments[0]
//return id;输出也是9
}
console.log(xxx(2));
//输入:9
下面来解析一下为啥输出是9
js中,执行一个函数时,形参和局部变量是存在一个活动对象里的,或者叫变量对象,如果在局部变量中定义了一个和形参相同名字的变量,编译器会忽略这个定义,而所有对该变量的操作都会反映到形参的那个变量中去。