js的数据类型

浪子不回头ぞ 提交于 2019-12-05 20:20:27

原始值

  • number =>数字类型 1 2 3
  • string =>字符串类型 “123” ” ” “”
  • boolean =>布尔值 true false
  • obbject =>null null
  • undefined =>undefined undefined

引用值

  • 普通对象/标准对象{age:18} {} 花括号
  • 数组 [1,2,3] 中括号
  • function(){} 函数对象
  • /2/ 正则 /开始/结束

声明变量的关键字

var的作用: 声明变量

检测数据类型函数typeof

console.log(typeof 变量名)

typeof 返回的类型是字符串

< typeof typeof 2

> “string” //字符串类型的string

var a={}
var b=[1,2]
var c=function(){}
console.log(a)			//object
a={name:"lion"}
console.log(a.name)		//"lion"
console.log(typeof b)		//"object"
console.log(typeof a)	//"object"; 字符串类型的object
var a = [1,2,3]
var b = {name:"lion"}
var c = function(){};
var d = /2/
var f = [a,b,c,d];
for(let i = 0; i<4;i++){
console.log(typeof f[i]);
}

我们能看到输出结果

02.html:15 object
01.html:15 function
01.html:15 object

原始值和引用值的区别

原始值是存放在栈区域(stack)

引用值是存放在堆区域(heap)

在赋值的时候

原始值是赋值地址中的值

引用值方式赋值地址

var a = 2;
var b = a;
b = 3;
console.log(a);   //a = 2

var arr1 = [1,2,3];
var arr2 = arr1;
arr2[0] = "lion";
console.log(arr1);	//["lion",2,3]

以下有两个概念图来区别栈与堆的存储

栈存储

堆存储

在typeof输出的时候有两个数据类型需要注意
第一个是null,它返回的结果是”object”,但它的数据类型其实是null
第二个是function,它返回的结果是”function”,但它的数据类型其实是object

一个完整的编程语言是要有变量和数据类型的

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!