js数据类型

1.数据类型数据在内存中的存储格式;

2.分类:

基本类型/原始类型:数据直接存储在变量本地(即栈 stack 内存中)的数据类型;

    string、number、boolean、undefined、null;

引用类型:数据无法直接保存在变量本地的数据类型(即数据存储在堆 heap 内存中);

      function、object。

 3.数据类型判断:

 typeof operand  or typeof (operand);

 typeof 操作符返回一个字符串,表示未经计算的操作数的类型;

类型 结果
string "string"
number "number"
boolean "boolean"
undefined "undefined"
null "object"
function "function"
任何其他对象 "object"
宿主对象(由JS环境提供) Implementation-dependent
symbol (ECMAScript 6 新增) "symbol"

 

Array.isArray(obj),obj为需要检测的值,若为array,返回true, 否则返回false。

若不存在Array.isArray,则执行以下代码:

if( !Array.isArray ) {
 Array.isArray =  function( arg ) {
  return Object.prototype.toString.call(arg) === '[object Array]';

 }

}

4.补充:

 栈:又名堆栈,是一种运行受限的线性表。其限制是仅允许在表的一端进行插入push和删除pop操作,这一端被称为栈顶,对应另一端被称为栈底;特性:LIFO(Last In First Out)“后进先出”;

队列:是一种特殊的线性表。特殊之处在于它只允许在表的前端front(对头)进行删除操作,而在表的后端rear(队尾)进行插入操作,和栈一样,是一种操作受限的线性表;特性:FIFO(First In First Out)“先进先出”;

堆:可以被看做是一棵树的数组对象,堆总是一棵完全二叉树;堆是指程序运行时申请的动态内存,而栈只是指一种使用堆的方法(先进后出)。

原文地址:https://www.cnblogs.com/lyue1404/p/10364879.html