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; } |
但是请注意,这个解决方案并不是很干净,它只适用于这个
函数范围内的
只需删除函数参数:
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); |