繁体   English   中英

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

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

var e = 15;

function change_value(e){

    e = 10;
}

change_value(e);

console.log(e);

e 的值仍然是 15。

e功能范围内从不同e全局范围内。

只需删除函数参数:

var e = 15;

function change_value(){
    e = 10;
}

change_value();
console.log(e);

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

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

var e = 15;

function change_value(){

    e = 10;
}

change_value();

console.log(e);

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

您有 2 个解决方案。 这边走 :

var e = 15;

function change_value(e) {
    return 10;
}

e = change_value(e);

或者这个:

var e = 15;

function change_value() {
    e = 10;
}

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

如果要将传递的值分配给外部 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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM