JavaScript 是按值传递还是按引用传递的

JavaScript015

JavaScript 是按值传递还是按引用传递的,第1张

值传递仅仅传递的是值

引用传递,传递的是内存地址,修改后会改变内存地址对应储存的值。

用数组来举例就最清楚了,例如我们定义一个数组a[]={1,2}

那么a[0]=1,a[1]=2。

如果我们把数组a里的元素值作为参数传递,实际上只是进行了值传递,对数组本身没有影响

如果我们把 数组a的指针作为参数传递,那么假如处理的函数就可以直接修改数组a里的值。

代码实例:(只是写个大概的逻辑,语法可能有错误)

main()

{

int a[]={1,2}

test(a)

printf(a[0]) //此处打印的值是3, 这就是引用传递。

}

public void test(int b[])

{

b[0]=3

}

可以利用form表单提交获取上一个页面的值

例:form表单提交传值及取值

发请求页面

<form style="display: none" method="post"

       id="infoDetailsHyperlink" name="input"

       action="<%=request.getContextPath()%>/view/basicmanage/reportTemplet/positionPeopleConfig.jsp">

       <input name="infoId" id="infoId">

       <input name="operationType" id="operationType">

       <input name="copyTempletIdConfigPeople" id="copyTempletIdConfigPeople">

</form>

发请求页面,js中发送请求

$("#infoId").val($("#lastStepTempletId").val())

$("#operationType").val($("#operationTypeIdLastStep").val())

$("#infoDetailsHyperlink").submit()

接收页面

<input  id="infoId" style="display: none"  value=<%=request.getParameter("infoId")%>>

<input  id="operationType" style="display: none"   value=<%=request.getParameter("operationType")%>> 

<input  id="copyTempletIdConfigPeople" style="display: none"   value=<%=request.getParameter("copyTempletIdConfigPeople")%>>

<script>

<%request.setCharacterEncoding("utf-8")%>     解决传值时中文乱码问题

</script>