Javascript 为什么将var传递给函数会使这个var在内部不可变?
我是js新手,我想了解这三种情况下x变量之间的区别,以及为什么代码中的第三种情况下x=10仍然让我感到困惑Javascript 为什么将var传递给函数会使这个var在内部不可变?,javascript,pass-by-reference,var,Javascript,Pass By Reference,Var,我是js新手,我想了解这三种情况下x变量之间的区别,以及为什么代码中的第三种情况下x=10仍然让我感到困惑 var x = 10; function test(){ var x = 15; } test(); console.log(x)// return 10 /////////////////////////// var x = 10; function test(){
var x = 10;
function test(){
var x = 15;
}
test();
console.log(x)// return 10
///////////////////////////
var x = 10;
function test(){
x = 15;
}
test();
console.log(x)// return 15
////////////////////////////
var x = 10;
function test(x){
x = 15;
}
test();
console.log(x)// return 10
这是因为x是通过值而不是引用传递的。有关更详细的说明,请参见: 新x是在函数中创建的 x属于外部范围
var x = 10;
function test(x){
x = 15;
}
基本参数(如数字)通过传递给函数
价值值传递给函数,但如果函数
更改参数的值,此更改不会反映出来
全局或在调用函数中
在第三种情况下,x指的是参数not global VARIABLE为什么你否决了这个问题IDK i dont downVOTETHES这是任何好的教程都应该解释的。如果您阅读或收到的介绍没有正确解释这一点,请搜索其他介绍。
var x = 10;
function test(){
x = 15;
}
var x = 10;
function test(x){
x = 15;
}