浅析JS原始值和引用值问题

作者:r3turn 时间:2024-04-28 09:33:17 

原始值->基本类型

Number String Boolean undefined null

存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置

动态语言->脚本语言->解释型语言->弱类型语言

静态语言->编译型语言->强类型语言

null 空值 初始化组件 函数 销毁函数 占位

引用值

object array function date RegExp

如果一个值是引用类型的,那么它的存储空间将从堆中分配。由于引用值的大小会改变,所以不能把它放在栈中,否则会降低变量查寻的速度。相反,放在变量的栈空间中的值是该对象存储在堆中的地址。地址的大小是固定的,所以把它存储在栈中对变量性能无任何负面影响。
ex


<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>D1</title>
</head>
<body>
   <script type="text/javascript">
       var arr1 = [1,2,3,4];
       var arr2 = arr1;
       //arr1.push(5);//此时打印arr2为1,2,3,4,5
       arr1 = [1,2];//重新赋值不会影响arr2
       document.write(arr2);
   </script>
</body>
</html>

来源:https://www.cnblogs.com/dcz98/p/15730191.html

标签:JS,原始值,引用值
0
投稿

猜你喜欢

  • SQL语句优化提高数据库性能

    2024-01-29 03:40:08
  • Python基础之赋值,浅拷贝,深拷贝的区别

    2021-06-28 18:39:15
  • Golang设计模式之外观模式的实现

    2024-05-28 15:22:44
  • Python 判断奇数偶数的方法

    2023-03-03 18:16:31
  • Hibernate4在MySQL5.1以上版本创建表出错 type=InnDB

    2024-01-14 23:45:17
  • JavaScript前端实用的工具函数封装

    2024-04-25 13:15:02
  • 延时重复执行函数 lLoopRun.js

    2024-05-13 09:20:24
  • Python + Selenium 实现模拟登录jd实例分享

    2023-12-16 06:56:09
  • 答题辅助python代码实现

    2022-06-30 19:57:35
  • Python 3.7新功能之dataclass装饰器详解

    2023-09-13 16:32:38
  • Javascript showModalDialog两个窗体之间传值

    2024-04-28 09:38:56
  • 初学者必读:提高SQL执行效率的几点建议

    2009-05-07 13:52:00
  • python的ping网络状态监测的实现(含多IP)

    2022-03-16 07:21:29
  • Python中jieba库的使用方法

    2021-06-23 13:47:24
  • 如何在vue中使用kindeditor富文本编辑器

    2024-05-09 15:16:26
  • ASP编写完整的一个IP所在地搜索类

    2007-10-18 10:43:00
  • Window10下mysql 5.7.21 安装配置方法图文教程

    2024-01-24 18:23:20
  • numpy使用技巧之数组过滤实例代码

    2021-07-13 14:55:52
  • php中如何判断一个网页请求是ajax请求还是普通请求

    2023-10-13 14:42:30
  • 用户体验杂谈

    2011-10-21 21:09:08
  • asp之家 网络编程 m.aspxhome.com