这篇文章主要 解决的问题 为: 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,falsevar a=1;        // number,可以是整数和小数var a=NaN        // 非数字

4种引用类型:
Object Array Data RegExp

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

Null和Undefined的区别:

null :

  • 是一个空对象,同时也是js保留的关键字,用来定义一个空值。
  • 在数值运算中自动转化为0,转为Boolean时为false。
typeof null;
"object"

undefined :

  • 是全局对象的一个特殊属性,代表一个未确定的值
  • 变量被声明的但未赋值的时候为undefined;函数没有返回值时,返回undefined
  • 参与运算的时候,结果为NAN,转为Boolean时为false
"undefined" in windowture

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

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

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

举个栗子

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

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

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

JavaScript数据类型相关推荐

  1. 从javaScript数据类型开始了解垃圾回收机制

    一. javaScript数据类型 javaScript 数据类型分为:基本数据类型.引用数据类型 基本数据类型 分类:Number.String.Boolean.Null.Undefined.Sym ...

  2. JavaScript数据类型 typeof, null, 和 undefined

    JavaScript 数据类型 在 JavaScript 中有 5 种不同的数据类型: string number boolean object function 3 种对象类型: Object Da ...

  3. 18100出多少取整_关于JavaScript数据类型,你知道多少?

    JavaScript的数据类型是每一个前端开发者必须要掌握的内容,也是最基础最重要的角色之一,关于JavaScript数据类型你知道多少? JavaScript一共有7种数据类型:String.Num ...

  4. JavaScript学习总结(2)——JavaScript数据类型判断

    最近做项目中遇到了一些关于javascript数据类型的判断处理,上网找了一下资料,并且亲自验证了各种数据类型的判断,在此做一个总结吧! 一.JS中的数据类型  1.数值型(Number):包括整数. ...

  5. JavaScript筑基篇(二)-JavaScript数据类型

    说明 介绍JavaScript数据类型 目录 前言 参考来源 前置技术要求 JavaScript的6种数据类型 哪6种数据类型 undefined 类型 null 类型 boolean 类型 numb ...

  6. Javascript数据类型共有六种

    Javascript数据类型共有六种 /* var box; alert(typeof box); // box是Undefined类型,值是undefined,类型返回的字符串是undefinedv ...

  7. javascript 数据类型与类型转换

    JavaScript 数据类型 值类型(基本类型): 字符串(String) 数字(Number) 布尔(Boolean) 空(Null) 未定义(Undefined) Symbol 注:Symbol ...

  8. JavaScript数据类型基本数据类型与引用数据类型的区别

    JavaScript数据类型 1.JavaScript判断数据类型 typeof操作符 使用typeof操作符可以返回变量的数据类型 typeof操作符有带括号和不带括号两种用法 typeof (变量 ...

  9. JavaScript 数据类型之 Symbol、BigInt

    JavaScript数据类型 在JavaScript中,我们已知有5种基本数据类型:Undefined.Null.String.Number.Boolean. 当ES6问世,直至今日,又新增了两种基本 ...

  10. javascript数据类型边边角角

    javascript数据类型边边角角 变量,数据类型,需要注意的地方 全局变量和局部变量 var a = 3;// 全局变量function test(){//var b = 2;//局部变量,肯定能 ...

最新文章

  1. html中隐藏溢出怎么写,html-如何隐藏表行溢出?
  2. python数据类型详解
  3. 混合云数据中心运维的管理
  4. mysql从表截取信息_mysql中循环截取用户信息并插入到目标表对应的字段中
  5. 1223. Chernobyl’ Eagle on a Roof(dp)poj3783
  6. CyaSSL 2.4.6 发布,SSL 加密库
  7. C# 电子签章的实现
  8. 随机森林-科比生涯数据集分析与预测
  9. STM8 时钟寄存器
  10. oracle中text是什么意思,ORACLE TEXT是什么
  11. 电子与计算机工程陈晟老师,陈晟老师课堂:数学成绩好,这七个大学专业适合报考!...
  12. es module 和 commonjs 模块化实践
  13. 00 欧几里得算法编程实现
  14. IDEA/AndroidStudio 一键自动添加Copyright
  15. 【描述性指标】节点中心性指标
  16. 个别手机在微信内无法长按识别二维码
  17. 公益宣传片制作的难点
  18. PickerView(二级联动)
  19. html课程表斜杠,Word功课表斜线怎么做
  20. mysqlinstaller安装教程80

热门文章

  1. 第十、十一周项目-阅读程序,写出这些程序的运行结果(1)
  2. Android之LocalBroadcastManager源码解析
  3. php mod11 10公式,AQL RQL
  4. netty tcp服务端主动断开客户端_【Netty】服务端和客户端
  5. 吴裕雄 python 神经网络——TensorFlow 花瓣分类与迁移学习(1)
  6. 三分钟学会用SpringMVC搭建最小系统(超详细)_转载
  7. xcode armv6 armv7 armv7s arm64
  8. mysql (master/slave)复制原理及配置
  9. glsl-BufferObject- change
  10. wp7——sqlite数据库操作 from:http://blog.csdn.net/wp_lijin/article/details/7370790