按值傳遞

按值傳遞是指兩變量間賦值時,或者將變量做爲參數傳遞給函數的參數變量時,其實只是將原變量的值賦值一個副本給對方。函數

原始類型中,修改新變量,不會影響原變量的值;以下:內存

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也一樣會受到影響。

相關文章
相關標籤/搜索