按值传递

按值传递是指两变量间赋值时,或者将变量做为参数传递给函数的参数变量时,其实只是将原变量的值赋值一个副本给对方。函数

原始类型中,修改新变量,不会影响原变量的值;以下:内存

var a=10,b=20;console

var x=a;y=b;变量

x--;引用

y--;co

console.log(x); //9参数传递

console.log(y); //19引用传递

console.log(a); //10参数

console.log(b); //20

注:JS中,全部函数的参数都是按值传递的。

按引用传递,传递的参数是按引用进行传递,其实传递的引用地址,也就是变量所对应的内存空间的地址;以下:

var a=[1,2,3];

var b=a;

console.log(b[0]); //1

b[0]++;

console.log(a[0]); //2

以上代码中,将a赋值给b,实际上是将变量在内存中保存的地址赋值给了b,两个变量共用一个地址,所以当b发生变化时,a也一样会受到影响。

相关文章
相关标签/搜索