了解javascript函数和var

了解javascript函数和var,javascript,Javascript,我只是看了一下我的课堂笔记,并没有真正理解 var x = 1; function func1() { x+= 10; } func2 = function( x ) { x += 5; } 直线func2=函数(x)是什么意思?x是否为15?当您向函数传递原语参数时,它们是按值传递的。但是,如果传入的参数是对象,则它是通过引用传递的 function myfunction(x) { // x is equal to 4 x = 5; // x i

我只是看了一下我的课堂笔记,并没有真正理解

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

直线func2=函数(x)是什么意思?x是否为15?

当您向函数传递原语参数时,它们是按值传递的。但是,如果传入的参数是对象,则它是通过引用传递的

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

他问了又答。这么多人投了反对票,我真的找遍了,没有找到答案。。无论如何,谢谢你,但我仍然不确定func2是否会更新xfunc2不会更新全局变量x的值,因为x是func2的局部变量。声明为函数参数的变量是局部变量。它可能具有相同的标识符,但指向不同的对象。