美文网首页
JavaScript引用类型变量和值类型变量的坑

JavaScript引用类型变量和值类型变量的坑

作者: 26bc1ce853cd | 来源:发表于2017-12-07 15:31 被阅读0次

这是我踩过的大坑,印象很深,希望大家以后绕过此坑。

引用变量(对象,数组这些玩意)是内存中的堆区,值变量(String,Number,Boolean这些玩意)是内存中的栈区。

什么是堆栈?不说抽象的,看的也累,举个例子:

栈就是你自己的东西,你想咋折腾都行

堆就是你借别人的东西用,弄坏了,别人会来干你,哈哈就这么理解吧~

比如 let a = 1; let b = a; b就是你自己的了,想干嘛干嘛,不影响a,因为数字是值变量

但是数组就不行了 ,let a = [1, 2, 3], let b = a, 但是这个b是别人的东西,不能乱来,不信你 b.push(4)试试,你发现a就变成[1,2,3,4]了,写完你就会发现地上多了一块舒肤佳。嘿嘿~~

当然也有解决办法,想让数组变成自己的,用slice()方法就可以了,let b = a.slice();就ok,b随便你玩,不怕身后一阵凉。

相关文章

  • js的变量类型和计算

    变量类型 按照存贮方式来分,变量类型分为值类型和引用类型 1.JavaScript中的变量类型有哪些? (1)值类...

  • Javascript 学习笔记

    JavaScript 中的变量类型JavaScript 中变量可以存储两种类型的值,即原始值和引用值。5种原始类型...

  • 基本类型值和引用类型值

    JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值。 *引用类型包括: 基本类型值和引用类型...

  • JavaScript 变量类型

    变量类型 JavaScript 中的变量类型分为值类型(又称为简单类型、基本数据类型)以及引用类型。 【值类型】:...

  • 类型

    JavaScript 中的变量是没有类型的,只有值才有。变量可以随时持有任何类型的值。 值和引用 基本类型值赋值 ...

  • JavaScript引用类型变量和值类型变量的坑

    这是我踩过的大坑,印象很深,希望大家以后绕过此坑。 引用变量(对象,数组这些玩意)是内存中的堆区,值变量(Stri...

  • JS 作用域及变量值的引用

    基本类型和引用类型的值 JavaScript 变量可以用来保存两种类型的值:基本类型值和引用类型值。基本类型值源自...

  • js小结1

    变量作用域以及内存问题(垃圾回收) JavaScript 变量可以用来保存两种类型的值:基本类型值和引用类型值。 ...

  • 变量、作用域和内存问题

    javascript的变量和其他语言的变量有很大区别。 基本类型和引用类型的值 ECMAScript变量可能包含两...

  • 第八章 变量、作用域、内存

    变量及作用域 ​ JavaScript的变量是松散型(一个变量可以改变类型)。 基本类型和引用类型的值ECMA...

网友评论

      本文标题:JavaScript引用类型变量和值类型变量的坑

      本文链接:https://www.haomeiwen.com/subject/zridixtx.html