var a=10;
function f1(x){
x++
return x
}
f1(a)
console.log(a)//为什么函数没有把a修改了呢。
因为你没改变a
的值啊,以下代码当作对比
var a=10;
function f1(x){
x++
a = x
return x
}
f1(a)
console.log(a)
你知不知道 K&R C 中有一种写法:
int f( p, q, r )
int p, float q, double r;
{
// Code goes here
}
函数的参数本质上就是函数内部定义的一个变量,并在调用函数的时候对它们赋值
所以你的代码,就等价于
var a = 10;
var x = a;
x++;
console.log(a);
或许像这么写,你会好理解一点。
var a=10;
function f1(x){
x++
return x
}
a = f1(a); // 把处理过的值赋给a
console.log(a)
望采纳。哈
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决