前言

  什么是JS呢?全称是JavaScript,是能够运行在JS解释器中的脚本语言。那知道了什么是JS,那你知道什么是ES吗?如果你了解JS的前世今生,你就知道什么是ES了,ES就是JS,相当于ES是大名,JS是小名。就想给同学起外号,10年之后,只记得他的外号,而忘记他的真名了。现在呢,我们就一起来了解一下JS的数据类型吧。

宏观把控

  先来一张图简单了解一下js的数据类型都有哪些内容:

javascript吧吧主 贴吧说的js是什么_引用类型

如何获取数据类型呢?

  这里就涉及到了一个运算符:typeof,它的语法是string typeof(变量);举个例子吧:

alert(typeof "123");        //弹出string
			alert(typeof true);         //弹出boolean
			alert(typeof 123);          //弹出number

  这是强调一下:js是一种弱类型的语言,所有的变量都是用var来声明的,而且不会检查类型,如下代码都对:

var num=10;
			alert(typeof num);

			num="123";
			alert(typeof num);

			num=true;
			alert(typeof num);

			num=new Date();
			alert(typeof num);      //object

数据类型之基本类型

1.都有哪些基本类型呢?

  如上图所示,大致有3种,基本类型(也叫值类型):number,boolean,string;注意这三个都是小写的,如果首字母大写了,Number,String,Boolean就变成包装类型了。

2.基本类型的转换

  1)任何一个不为空的对象转换成boolean值都为true;
  2)数字转成字符串

string(数字)
数字+""
数字.toString()

  3)字符串转数字

字符串-0
number(字符串)
parseInt() parseFloat()

  4)转boolean

否定两次,真假值不变,但是可以自动转成bool,例如:

if(!!val) {

}

数据类型之引用类型

1.对象类型

  对象类型返回object,例如数组与日期都是对象类型:

alert(typeof {});             //object   对象类型
			alert(typeof new Array());    //object
			alert(typeof new Date());     //object

2.函数类型

  先定义一个函数,之后取这个函数的类型就是函数类型:

var func=function() {};
			alert(typeof func);           //function
			
			alert(typeof typeof func);    //string

数据类型之空类型

1.null

  值为null时,取类型,也会返回object,例如:

var number=null;       
			alert(typeof number);      //object

2.undefined

  undefined表示为“未定义”,如果声明一个变量,但是未赋值,取类型就会显示undefined。

var num;
			alert(typeof num);         //undefined

总结

  任何一门语言都有自己的数据类型,他们之间有共同点,但是也有自己独特的内容,快去发现他们的不同吧。