JavaScript中值类型和引用类型的区别

发布网友 发布时间:2022-04-20 00:29

我来回答

1个回答

热心网友 时间:2022-03-29 23:33

js的基本数据类型是按值传递,对象是按引用传递。按值传递的变量之间互不影响,比如var a = 1; var b = a; a = 2; 变量a、b之间是按值传递,虽然a的值变了,但是并不影响b的值。而例子var a = {name:'yy',age:26}; var b = a; a.name = "gg"; 这里的变量a、b指向的是同一个对象的引用地址,对a.name的操作直接改变了对象,自然b.name也变了。
做一个不是太恰当的比喻,以前在学校的时候,用邮政速递收寄东西,如果是信件或者小件的东西,快递员会直接送到学校,如果是大件的包裹,往往你拿到的只是一个地址,这个地址指引你去附近的邮政拿到你自己的包裹。这大概就是js中值类型和引用类型的区别。以上的解释能帮助理解,但是还是有漏洞的。想深入理解的话建议找找js高级教程的书或者博客文章来看一看,了解一下堆栈的概念。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com