如何深入探讨JavaScript中的原始值与引用值差异?

更新于
2026-09-28 01:34:53
2阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计476个文字,预计阅读时间需要2分钟。

如何深入探讨JavaScript中的原始值与引用值差异?

基本类型-基本类型+Number+String+Boolean+undefined+null+存储在栈(stack)中的简单数据段,也就是,它们的值直接存储在变量访问的位置+动态语言-脚本语言+解释型语言+弱类型语言+静态语言

原始值->基本类型

Number String Boolean undefined null

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

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

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

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

引用值

object array function date RegExp

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

如何深入探讨JavaScript中的原始值与引用值差异?

<!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>

到此这篇关于JS原始值和引用值 的文章就介绍到这了,更多相关JS原始值和引用值 内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

本文共计476个文字,预计阅读时间需要2分钟。

如何深入探讨JavaScript中的原始值与引用值差异?

基本类型-基本类型+Number+String+Boolean+undefined+null+存储在栈(stack)中的简单数据段,也就是,它们的值直接存储在变量访问的位置+动态语言-脚本语言+解释型语言+弱类型语言+静态语言

原始值->基本类型

Number String Boolean undefined null

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

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

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

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

引用值

object array function date RegExp

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

如何深入探讨JavaScript中的原始值与引用值差异?

<!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>

到此这篇关于JS原始值和引用值 的文章就介绍到这了,更多相关JS原始值和引用值 内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!