js中function函數(shù)參數(shù) JavaScript中函數(shù)都是值傳遞嗎?
JavaScript中函數(shù)都是值傳遞嗎?JavaScript中,傳遞變量就是值傳遞,如果傳遞一個(gè)對(duì)象那就是引用傳遞,話不多說(shuō),上代碼:值傳遞調(diào)用fun函數(shù)并傳遞變量a,在函數(shù)內(nèi)部傳遞的參數(shù)a自加1后,
JavaScript中函數(shù)都是值傳遞嗎?
JavaScript中,傳遞變量就是值傳遞,如果傳遞一個(gè)對(duì)象那就是引用傳遞,話不多說(shuō),上代碼:
值傳遞
調(diào)用fun函數(shù)并傳遞變量a,在函數(shù)內(nèi)部傳遞的參數(shù)a自加1后,全局變量a的值任然是5,說(shuō)明參數(shù)傳遞過(guò)程中,只是將a的值傳遞過(guò)去了,屬于值傳遞。
引用傳遞
對(duì)象obj的屬性age原始值為20,調(diào)用函數(shù),并傳遞obj,在函數(shù)內(nèi)部改變_obj對(duì)象的age屬性值為30,調(diào)用函數(shù)后,再輸出obj對(duì)象的age屬性,發(fā)現(xiàn)其值也跟著改變?yōu)榱?0,說(shuō)明參數(shù)對(duì)象_obj與obj在內(nèi)存中,指向了同一地址區(qū)域,屬于引用傳遞。
js函數(shù)中如何傳遞數(shù)組參數(shù)?
由于function的參數(shù)是數(shù)組,那么傳入?yún)?shù)也設(shè)置為數(shù)組,然后按照一般的傳參方式傳入即可。舉個(gè)例子:
1、函數(shù)定義
function userfun(array){ var square = [] for(k in array) square[k] = array[k]*array[k] return square}
2、傳參和調(diào)用
a = [1,2,3,4,5]b = userfun(a)alert(b)
3、結(jié)果顯示