网络编程
位置:首页>> 网络编程>> JavaScript>> 浅析JS原始值和引用值问题

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

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

标签:JS,原始值,引用值

原始值->基本类型

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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com