分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

js 函数中形参与实参的关系

发布时间:2023-09-06 02:31责任编辑:赖小花关键词:js

函数中形参与实参的关系

对于形参和实参的定义,在 权威指南中有着明确的定义。但是,我们更在意的是它们之间的关系,到底形参会不会影响到实参?

形参到底会不会影响到实参?

对于这个问题的答案,请先看以下两个例子:

//例子一function add(x){ ???x+=1;};var a = 1;add(a);console.log(a); //1 看来不会影响到实参//例子二function Push(arr){arr.push(1);}var b = [];Push(b);console.log(b); //[1] 额。。。好像会影响到实参

看完上面的例子,多多少少会有一些疑惑,到底它们之间是什么关系?
笔者认为,形参和实参是存在一种引用关系的,就好比变量中的引用关系。我们都知道,变量中的引用关系跟它们的值有关。当值为原始类型时(string,number,boolean等等),var a=b是各自引用不同的内存地址的,修改不会影响到彼此;当值是对象,数组等非原始类型时,它们引用的是同一个内存地址,修改则会相互影响。所以上面例子中,当实参是数组时,由于它们共用同一内存地址,所以修改会影响彼此,这个在平时要多加注意!

笔者水平有限,上面仅是个人意见想法,如果有误,请指出。 ??

js 函数中形参与实参的关系

原文地址:https://www.cnblogs.com/blogs-xlf/p/10329333.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved