2012-03-24 89 views
1

我很新的JavaScript,我遇到了一些变量和函数的属性问题。在JavaScript中的另一个函数中更改变量

我想要发生的事情是在一个函数中定义一个var,并在另一个函数中更改该值,然后将新值返回给最初定义的函数。

下面是一个简单的示例,我提出:

function getIt(){ 
    var x=3; 
    doubleIt(x); 
    alert("the new value is: " + x); 
} 

function doubleIt(num){ 
num *=2; 
return num; 
} 

当此运行警报仍显示x的原始值。是否有一个在原有功能的价值改变?

回答

5

最简单的方法是将结果分配回变量

x = doubleIt(x); 

演示:http://jsfiddle.net/ES65W/


如果你真的想通过引用传递,你需要一个对象容器进行价值。对象通过引用在JavaScript通过:

function getIt(){ 
    var myObj={value:3}; 
    doubleIt(myObj); 
    alert("the new value is: " + myObj.value); 
} 

function doubleIt(num){ 
    num.value *=2; 
    //return num; 
} 

演示:http://jsfiddle.net/dwJaT/

+1

1。欲了解更多信息,谷歌“传递价值”。 – ruakh 2012-03-24 21:08:36

+0

我认为拳头更“正常”。 – 2012-03-24 21:17:29

相关问题