如何在javascript函数中更改变量的值?

时间:2015-06-26 11:13:32

标签: javascript jquery

var e = 15;

function change_value(e){

    e = 10;
}

change_value(e);

console.log(e);

e的价值仍然是15。

4 个答案:

答案 0 :(得分:1)

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

Javascript中的所有变量都是全局创建的,因此您只需使用和修改它而不传递它:

var e = 15;

function change_value(){

    e = 10;
}

change_value();

console.log(e);

答案 1 :(得分:1)

功能范围内的e与全局范围内的e不同。

只需删除功能参数:

var e = 15;

function change_value(){
    e = 10;
}

change_value();
console.log(e);

答案 2 :(得分:1)

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

你有2个解决方案。这样:

var e = 15;

function change_value(e) {
    return 10;
}

e = change_value(e);

或者这个:

var e = 15;

function change_value() {
    e = 10;
}

但请注意,此解决方案并非真正干净,只适用于此e变量。

答案 3 :(得分:-1)

如果要将传递的值分配给外部e变量,可以执行此类操作。这只是一个样本。在块中,您将来可能有任何逻辑。

var e = 15;
function change_value(e){

    return e;
}

e = change_value(10);

console.log(e);

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

 var e = 15;
 function change_value(){

   e = 10;
}

change_value(10);

console.log(e);