JavaScript中值传递和引用传递有什么区别?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
JavaScript是什么
JavaScript是一种直译式的脚本语言,其解释器被称为JavaScript引擎,是浏览器的一部分,JavaScript是被广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。
1、概念不同
值传递为单向传递,只能由实参传递给形参,形参无法改变实参的值。
引用类型传递可以通过改变形参而改变实参。只要任何一个变量指向同一个空间,那么该变量都可以去操作该空间的值。
2、传递的数据类型
值传递传递的是一个值。引用传递传递的是一个对象。
(1)值传递
var a = 1;function fn(a){a ++;return a;}a = 1;console.log(fn(a));console.log(a);
(2)引用传递
var obj = {name:"abc",}function fn(obj){Orville's Ideas and Interests = "abc"; //指向函数外部创建的对象obj = new Object(); //创建一个全新的对象,指向的不是外部创建的对象Orville's Ideas and Interests = "123"; //为新创建的对象添加属性}var obj = new Object();fn(obj);console.log(Orville's Ideas and Interests); //obj为外部创建的对象所以输出值为“abc”
看完上述内容,你们掌握JavaScript中值传递和引用传递有什么区别的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!