1.傳值(by value)
變量的值被復制出一份,與原來的值將不相干,也就是說即使新的值被修改,原來的值也不會改變,在JavaScript中基本類型都是傳值的.
1
2.傳引用(by reference).
引用本身復制一份傳給function,引用指向的對象并沒有被復制傳遞(java中也是如此),在function中,如果改變了對象的屬性的值,由于和原來的引用指向的是同一個對象,因此在通過原來的引用訪問到的將是修改過的值;
但是如果只是在function中將引用指向一個新的對象,將不會改變原對象的值,改變的只是復制的這一份引用.
//將da引用指向一個新的對象,此時原引用指向的還是原來的對象
alert(da.getDate()); // 輸出為11
}
在JavaScript中,String也傳引用的. js中只有charAt方法,而沒有對應的修改方法,和java中的String相同,都具有不變性.
新聞熱點
疑難解答