-2

我只是浏览了我的课堂笔记,并没有真正理解

var x = 1;
function func1() 
{
    x+= 10; 
}
func2 = function( x ) 
{ 
    x += 5;
}

func2 = function( x ) 行是什么意思?x 会是 15 吗?

4

1 回答 1

0

当您将原始参数传递给函数时,它们是按值传递的。但是,如果您传入一个作为对象的参数,则它是通过引用传递的。

function myfunction(x)
{
    // x is equal to 4
    x = 5;
   // x is now equal to 5
}

var x = 4;
alert(x); // x is equal to 4

myfunction(x); 
alert(x); // x is still equal to 4

function myobject()
{
    this.value = 5;
}

var o = new myobject();
alert(o.value); // o.value = 5

function objectchanger(fnc)
{
    fnc.value = 6;
}

objectchanger(o);
alert(o.value); // o.value is now equal to 6
于 2013-09-13T23:32:05.100 回答