资讯专栏INFORMATION COLUMN

JavaScript数据类型

AnthonyHan / 1329人阅读

摘要:基本类型存放在栈中,其大小确定,内存空间自动分配。我们无法直接访问和操作堆中的数据,只能通过一个指针间接的对引用类型的数据进行操作。

这篇文章主要 解决的问题 为: js的基本类型有那些?引用类型有哪些? 基本类型和引用类型有什么区别?null和undefined的区别? 哪一个存在堆上面,哪一个存在栈上面。

JavaScript有5种基本类型:
undefined null boolean string number 五种按值访问的类型

    var a;            // undefined表示变量声明了,却没有赋值
    var a=null;        // null表示空值
    var a="字符串";    // string字符串
    var a=false;    // boolean布尔值包括true,false
    var a=1;        // number,可以是整数和小数
    var a=NaN        // 非数字

4种引用类型:
Object Array Data RegExp

    var a=[1,2,3];        // Array
    var a=new Date();    // Date
    var a={};            // Object

Null和Undefined的区别:

null :

是一个空对象,同时也是js保留的关键字,用来定义一个空值。

在数值运算中自动转化为0,转为Boolean时为false。

typeof null;
"object"

undefined :

是全局对象的一个特殊属性,代表一个未确定的值

变量被声明的但未赋值的时候为undefined;函数没有返回值时,返回undefined

参与运算的时候,结果为NAN,转为Boolean时为false

"undefined" in window
  ture

哪一个存在栈上?哪一个存在堆上?

简单的说一下:
栈 会自动分配内存空间,由系统自动释放。
堆 时动态分配的内存,大小不确定,不会自动释放,而且不允许直接访问。

基本类型: 存放在栈中,其大小确定,内存空间自动分配。
引用类型: 存放在堆中,如数组等,它们大小不确定,不固定。

举个栗子

var a = 1;
var b = 2;
var obj = { name = "holy" };

我们来看一下在内存中是如何存储的

可以看到基本类型 a 和 b 变量名和相应的值都是存储在中的,而引用类型 obj 在栈中存储的是一个地址,这个地址指向 中的一个位置,该位置存放的就是obj实际的值 { name = "holy" }。我们无法直接访问和操作堆中的数据,只能通过一个指针间接的对引用类型的数据进行操作。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110097.html

相关文章

  • JavaScript入门

    摘要:被识别为结束符。变量时被认为时有名字的容器。常量一旦被声明初始化,值并不能被改变。字符串可以看成右字符组成的数组,可能被误认为可变的。表达式没有显示的返回任何内容。 Java script 简介 Javascript 是一门跨平台,面向对象的轻量级脚本语言,运行于Javascript解释权/引擎 avascript内置了一个包含一系列对象的标准库,比如数组,日期,数字和一个语言元素合...

    AaronYuan 评论0 收藏0
  • WebSocket系列之JavaScript中数字数据如何转换为二进制数据

    摘要:以和为例,说明中的数字数据如何转换为二进制数据。对象用来表示通用的固定长度的原始二进制数据缓冲区。中的数字数据如何转换为二进制数据对和有了一个大概的了解,下面让我们来看下它是如何进行二进制数据操作的。 概述 本文主要通过对JavaScript中数字数据与二进制数据之间的转换,让读者能够了解在JavaScript中如何对数字类型(包括但不限于Number类型)进行处理。 二进制数据在日常...

    MASAILA 评论0 收藏0
  • JavaScript学习第一天笔记(变量、常量、数据类型

    摘要:变量与常量变量定义变量是存储数据信息的容器。中,变量是弱类型,也被称为松散类型。三类型布尔类型只有两个值均为小写如果大写活着大小写混合,识别为另一个变量名称。 JavaScript简介 JavaScript是一门跨平台、面向对象的轻量级脚本语言,运行于JavaScript解释器或者引擎中。JavaScript中,包括三个主要的部分1.核心语法内容(ECMAScript)2.文档对象模型...

    tinysun1234 评论0 收藏0
  • JavaScript-数据类型

    摘要:解释一行,执行一行这也意味着你可以使用同一个变量保存不同类型的数据二数据类型最新的标准定义了种数据类型种原型数据类型布尔值,和一个表明值的特殊关键字。我们称这些类型的值为原始值四布尔值布尔值数据类型只能有两个值,它们是文本和。 一、动态类型 JavaScript 是一种弱类型或者说动态语言。这意味着你不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。(解释一行,执行一行)这也...

    沈俭 评论0 收藏0
  • JavaScript的语言特性以及重要版本

    摘要:通常一个完成的不仅仅包含了还包括了以及相关版本该版本在中使用。基于原型函数先行的语言使用基于原型的的继承机制,函数是的第一等公民其他相关的语言特性编译型语言把做好的源程序全部编译成二进制代码的可运行程序。 转载请注明出处,创作不易,更多文章请戳 https://github.com/ZhengMaste... 前言:JavaScript诞生于1995年,它是一门脚本语言,起初的目...

    Yangder 评论0 收藏0
  • JavaScript数据类型数据结构

    摘要:字符串类型的字符串类型用于表示文本数据。例如,使用一个分隔符,一个可以模仿一个列表一个的数组可能更适合一些。不幸的是,当一个分隔符在用于列表中的元素时,打乱了这个列表。属性的值可以是任意类型,包括具有复杂数据结构的对象。 编程语言都具有内建的数据结构,但各种编程语言的数据结构常有不同之处。本文试图列出 JavaScript 语言中内建的数据结构及其属性,它们可以用来构建其他的数据结构;...

    fireflow 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<