js基本类型和引用类型的区别

Posted 吉古力

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js基本类型和引用类型的区别相关的知识,希望对你有一定的参考价值。

1.保存方式:(一脸懵逼???)

基本类型是按值访问的,可以在变量的生命周期改变它,但是它是储存在哪里的呢?在浏览器缓存吗?【执行环境中定义的所有变量和函数都存储在执行环境的变量对象里,变量对象我们编写的代码无法访问,但是解析器在处理数据的时候会在后台调用】

引用类型的值保存在内存中,js对访问内存位置有所限制(这种限制如何理解?),当我们复制的时候操作的是对象的引用,当我们为对象删除或添加属性的时候,操作的是实际的变量。

2.动态的属性:

引用类型可以添加删除修改属性,而基本类型没有属性

3.复制变量值:

基本类型复制的另一个变量和原来的变量是单独存放的,引用类型复制的是指针,对象共用。

4.传递参数:

传递的参数如果是基本类型,就相当于基本类型的复制,复制后的局部变量和被复制的是单独储存的。传递的参数如果是引用类型,复制的是指针,其作为函数的局部对象改变的话会同时改变被复制的对象。

5.检测类型:

typeof是检测string , number, boolean,undefined的最佳工具,但检测null的话返回的是object,对function的检测不准确(有可能是正则表达式)。

instanceof可以检测是什么类型的对象。所有引用类型都是Object的实例。Object , Array , Date , RegExp , Function 。

 

以上是关于js基本类型和引用类型的区别的主要内容,如果未能解决你的问题,请参考以下文章

js 基本类型与引用类型的区别

js基本类型和引用类型的区别

JS 什么是基本类型和引用类型有什么区别?

JavaScript 基本数据类型和引用类型的区别详解

基本数据类型和引用数据类型的区别是啥

关于js的引用类型和基本类型