关于jquery:如何在javascript中更改函数中变量的值?

How to change the value of variable in a function in javascript?

1
2
3
4
5
6
7
8
9
10
var e = 15;

function change_value(e){

    e = 10;
}

change_value(e);

console.log(e);

E的值仍然是15。


javascript不使用简单类型的引用。而是使用复制方法。所以你不能这样做。

你有两个解决方案。这种方式:

1
2
3
4
5
6
7
var e = 15;

function change_value(e) {
    return 10;
}

e = change_value(e);

或者这个:

1
2
3
4
5
var e = 15;

function change_value() {
    e = 10;
}

但是请注意,这个解决方案并不是很干净,它只适用于这个e变量。


函数范围内的e与全局范围内的e不同。

只需删除函数参数:

1
2
3
4
5
6
7
8
var e = 15;

function change_value(){
    e = 10;
}

change_value();
console.log(e);


当函数中有参数时,传递的值将复制到函数的作用域中,并在函数完成时被销毁。

javascript中的所有变量都是全局创建的,因此您可以在不传递变量的情况下使用和修改它:

1
2
3
4
5
6
7
8
9
10
var e = 15;

function change_value(){

    e = 10;
}

change_value();

console.log(e);


如果要将传递的值赋给外部E变量,可以这样做。这只是一个样本。在这个模块中,您将来可能有任何逻辑。

1
2
3
4
5
6
7
8
9
var e = 15;
function change_value(e){

    return e;
}

e = change_value(10);

console.log(e);

但是,如果您只想调用函数并更改e值,那么从函数中删除参数,因为它的作用域与外部的作用域不同。

1
2
3
4
5
6
7
8
9
 var e = 15;
 function change_value(){

   e = 10;
}

change_value(10);

console.log(e);