JavaScript 按值、按地址传送初步知识

作者:vkvi 来源:ITPOW(原创) 日期:2010-1-21

普通变量按值传送

var m = 0;
function foo(m)
{
    m++;
}
foo(m);
alert(m); // 0

数组对象按地址传送

var arr = [0];
function foo(arr)
{
    arr[0]++;
}
foo(arr);
alert(arr[0]); // 1

其他对象也是按地址传送

var obj = {m:0};
function foo(obj)
{
    obj.m++;
}
foo(obj);
alert(obj.m); // 1

实际上函数内的参数与调用函数时赋的参数,是两个不同的变量,只是他们指向同一个对象(当为对象时),所以操作这个就像操作到那个样,就像是按地址传送一样,详细请参见 JS 中没有按地址(引用)传递,只有按值传递

相关阅读

相关文章