js中function函数参数 JavaScript中函数都是值传递吗?

JavaScript中函数都是值传递吗?JavaScript中,传递变量就是值传递,如果传递一个对象那就是引用传递,话不多说,上代码:值传递调用fun函数并传递变量a,在函数内部传递的参数a自加1后,

JavaScript中函数都是值传递吗?

JavaScript中,传递变量就是值传递,如果传递一个对象那就是引用传递,话不多说,上代码:

值传递

调用fun函数并传递变量a,在函数内部传递的参数a自加1后,全局变量a的值任然是5,说明参数传递过程中,只是将a的值传递过去了,属于值传递。

引用传递

对象obj的属性age原始值为20,调用函数,并传递obj,在函数内部改变_obj对象的age属性值为30,调用函数后,再输出obj对象的age属性,发现其值也跟着改变为了30,说明参数对象_obj与obj在内存中,指向了同一地址区域,属于引用传递。

js函数中如何传递数组参数?

由于function的参数是数组,那么传入参数也设置为数组,然后按照一般的传参方式传入即可。举个例子:

1、函数定义

function userfun(array){ var square = [] for(k in array) square[k] = array[k]*array[k] return square}

2、传参和调用

a = [1,2,3,4,5]b = userfun(a)alert(b)

3、结果显示