JS的数据类型-引用类型和基本类型

在面试中遇到的问题。

在JS中直到ES6有7种基本类型:string, number, boolean,null,undefined,object,以及ES6的symbol。

这7种基本数据类型又可以分为引用类型和基本类型。

引用类型有Object,Object又分为对象,数组,函数。

引用类型的特点是在赋值时,不管引用类型的数据被赋值给几个变量,内存中只有这一个数据,所有被赋值的变量都引用了这一个数据。且任何一个变量更改了值,所有引用了这个数据的变量的值也随之改变。

比如:

var a = [1,2,3];

var b = a;

b.push(4);

console.log(b);    结果是 [1,2,3,4]

console.log(a);    结果是 [1,2,3,4]

变量a和b都引用了同一个数据。

除了Object,其他的都是基本类型,赋值时会在内存中新建一个数据,不同的变量之间没有引用关系。

时间: 2024-08-26 14:03:42

JS的数据类型-引用类型和基本类型的相关文章

js的数据类型具体分析

js的数据类型分析 1.基本类型:string·····number···boolean···null···underfied 2.引用类型:·····objck 复习·····点·运算·····xxx.sss····xxx是对象····sss.是方法和属性. 任何数据类型都是拥有属性和方法的 字符串  string····var   st="hello word" 字符串的定义 1 var s="st" 2.st.new string ("hello&q

JS 引用类型和值类型

自己的看高程3第五章应用类型的时候,有些迷糊,所以上网搜到这篇文章 转自求小天的博客园,地址:http://www.cnblogs.com/lxq1990/archive/2012/11/04/2754226.html 这个比喻很形象,帮助理解. js 值类型和引用类型 JavaScript值类型和引用类型有哪些 (1)值类型:数值.布尔值.null.undefined. (2)引用类型:对象.数组.函数. 如何理解值类型和引用类型及举例 我们可以用“连锁店”和“连锁店钥匙”来理解,不知道以下比

JS中数据类型、原始数据、内置对象、包装类型对象、typeof

JS中数据类型.内置对象.包装类型对象.typeof关系  https://segmentfault.com/a/1190000018275384 JavaScript 数据类型和数据结构   https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Data_structures 原始数据 https://developer.mozilla.org/zh-CN/docs/Glossary/Primitive 原文地址:https://www

JS的数据类型

JS的数据类型大致分为两大块: 1.基本类型 2.引用类型 基本类型分为:number bolean string undefined null 引用类型分为:原生对象 内置对象 宿主对象

JS中的引用类型

JS的数据类型可以分为两类:一类是原始类型(比如数字.布尔值.字符串.undefined.null),另外就是对象类型.我们通常将对象类型称为引用类型.对象值都是引用.举个例子来说明,下如下的代码: var x = [3,4,5]; var y = x; y[0] =1; console.log(x[0],y[0]); 打印结果是1 1,而不是3 1. 这里我们要注意,对象的复制其实仅仅是赋值的引用,也就是说这里的y其实引用,对象本身并没有复制一次. 如果想得到对象的副本必须自己实现拷贝过程.

JS基础-数据类型-运算符和表达式-变量和常量

1.js的基础语法2.js调试 1.F12调出控制台,查看提示错误及其位置. 2.出错时只影响当前代码块,不会影响其他代码块,后续代码块继续执行.3.语法规范 1.js语句:可执行的最小单元 必须以 ; 结束 严格区分大小写 ex:console.log(); //正确 Console.log(); //错误 所有符号必须是英文标点符号 2.js注释 // :单行注释 /**/ :多行注释4.变量和常量 1.变量 1.声明变量 var 变量名; ex: var uname; 2.为变量赋值 变量

js基本数据类型+判断数据类型方法

摘要:不管是什么类型的,Object.prototype.toString.call();都可以判断出其具体的类型,简单基本类型(String.Number.Boolean.Null.Undefined)不是对象,复杂基本类型都为对象子类型,函数是特殊的对象子类型(可调用对象) 数据类型分为基本类型和引用类型: 基本类型:String.Number.Boolean.Null.Undefined.symbol(ES6) 引用类型:Object.Array.Date.Function.Error.R

原型模式故事链(3)--JS的数据类型、以及区别、区分、转化

上一章--原型链讲解:传送门:https://segmentfault.com/a/11... 在上一章讲解原型链时提到了:所有的引用类型都有一个_proto_属性,称之为隐式原型.那么引用类型是什么鬼? 尽量简单的讲解一下javascript中的数据类型:在JS中有两大数据类型:1.基本数据类型,也称为值类型.2.复杂数据类型,也成为引用类型 . 值类型:Number.String.Boolean.Null.Undefined引用类型:Object.Array.Function 所以JS一共有

【转】c#引用类型与值类型的区别大盘点

解析:CLR支持两种类型:值类型和引用类型.用Jeffrey Richter(<CLR via C#>作者)的话来说,“不理解引用类型和值类型区别的程序员将会把代码引入诡异的陷阱和诸多性能问题”.这就要求我们正确理解和使用值类型和引用类型. 值类型包括C#的基本类型(用关键字int.char.float等来声明),结构(用struct关键字声明的类型),枚举(用enum关键字声明的类型):而引用类型包括类(用class关键字声明的类型)和委托(用delegate关键字声明的特殊类).C#中的每