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

 更新时间:2021年12月25日 14:09:44   作者:r3turn  
如果一个值是引用类型的,那么它的存储空间将从堆中分配。由于引用值的大小会改变,所以不能把它放在栈中,否则会降低变量查寻的速度。相反,放在变量的栈空间中的值是该对象存储在堆中的地址,这篇文章主要介绍了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>

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

相关文章

  • JS 实现点击a标签的时候让其背景更换

    JS 实现点击a标签的时候让其背景更换

    点击a标签的时候给其换背景的方法有很多,在本文将为大家介绍下js是如何实现的,感兴趣的朋友不要错过
    2013-10-10
  • JavaScript中闭包的写法和作用详解

    JavaScript中闭包的写法和作用详解

    本文给大家介绍javascript中的闭包,包括对js闭包概念的理解,闭包的几种写法和用法,闭包的主要作用,闭包与this对象,闭包与内存泄露及使用闭包的注意点相关知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-06-06
  • 原生JS实现平滑回到顶部组件

    原生JS实现平滑回到顶部组件

    返回顶部组件是一种极其常见的网页功能,需求简单:页面滚动一定距离后,显示返回顶部的按钮,点击该按钮可以将滚动条滚回至页面开始的位置,接下来通过本文给大家介绍原生JS实现平滑回到顶部组件,需要的朋友参考下吧
    2016-03-03
  • 详解百度百科目录导航树小插件

    详解百度百科目录导航树小插件

    本文主要介绍了百度百科目录导航树小插件,具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • 利用uniapp+vue3+js适配微信隐私协议开发指南

    利用uniapp+vue3+js适配微信隐私协议开发指南

    这篇文章主要给大家介绍了关于利用uniapp+vue3+js适配微信隐私协议开发指南的相关资料,适配最新微信小程序隐私协议开发指南,兼容uniapp版本,需要的朋友可以参考下
    2023-12-12
  • JS实现unicode和UTF-8之间的互相转换互转

    JS实现unicode和UTF-8之间的互相转换互转

    需要将PC送过来的UTF-8转换成UNICODE才能将内容通过短信发送出去,同样,接收到的短信为unicode编码,也许转换成UTF-8才能在PC端软件显示出来
    2017-07-07
  • 使用JS前端加密库sm-crypto实现国密sm2、sm3和sm4加密与解密

    使用JS前端加密库sm-crypto实现国密sm2、sm3和sm4加密与解密

    这篇文章主要介绍了使用JS前端加密库sm-crypto实现国密sm2、sm3和sm4加密与解密,需要的朋友可以参考下
    2024-06-06
  • BootStrap Table 获取同行不同列元素的方法

    BootStrap Table 获取同行不同列元素的方法

    表格同行中存在元素的相互调用,如何保证元素能够被同行不同列的其他方框使用呢?下面通过实例代码给大家介绍下,一起看看吧
    2016-12-12
  • JS实现动态给图片添加边框的方法

    JS实现动态给图片添加边框的方法

    这篇文章主要介绍了JS实现动态给图片添加边框的方法,涉及javascript操作图片border的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • 利用layer实现表单完美验证的方法

    利用layer实现表单完美验证的方法

    今天小编就为大家分享一篇利用layer实现表单完美验证的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09

最新评论