你所不知道的JS数据类型

今天介绍的是JS的数据类型,希望下次突然有人问说说JS的数据类型时,可以给他一个肯定的回答。

五种基本类型:
Undefined
Null
Boolean
Number
String

一种引用类型:
Object


五种基本类型###

1.Undefined

  • 使用var声明的变量但没有对其初始化,则该变量的值就是undefined
  • 根本没有声明变量也没有初始化变量, 则该变量的值就是undefined
    例如:
var message;
console.log("已声明但没有初始化变量message的类型:" + message);
console.log("根本没有声明变量也没有初始化变量age的类型:" + age);
控制台结果

2.Null

  • null 值表示一个空指针对象,也就是当用typeof 操作符检测 null 时会返回 object
var student = null;
alert(typeof student);  //object
  • 如果定义的变量准备存对象,那么最好初始化为null,这样我们可以判断变量是不是为null,来知道变量是否保存了一个对象的引用:
if(student != null){
    //对 student 做某些操作
}

3.Boolean####

  • 该类型有两个值,分别是:true 和 false
  • 虽然Boolean类型只有两个值,但ECMASript中所有类型的值都可以通过转型函数 Boolean() 将原来的值转换成与其对应的Boolean值。
var message = "Hello";
var messageAsBoolean = Boolean(message);
alert(messageAsBoolean);     //true     

转换规则:

转换规则

4.Number####

  • 该类型的表示方法有两种形式,第一种是整数,第二种为浮点数。
  • 整数 可以通过十进制,八进制,十六进制的字面值来表示。
var intNum=55;//十进制
var octalNum=070;//八进制数,第一位必须是0,解析为56
var  octalNum=079;//无效的8进制数,9超过了8进制数的范围,解析为79
var hexNum=0xA;//十六进制数,前两位必须是0x,后跟16进制数字(0~9及A~F)
  • 浮点数
    1、该数值中必须包含一个小数点,且小数点后必须有一位数字,如果小数点后只有零,则该小数会被转化为整数。
    2、浮点数所占据的内存空间是整数的两倍。
    3、对极大极小的浮点数采用e表示法。
 var floatNum=3.2e7;//3.2×10(7次幂)
 var floatNum=3.2e-7;//3.2×10(-7次幂)
  • NaN:即非数值(Not a Number)
    1、 这个数值用于表示一个本来要返回数值的操作数,未返回数值的情况。比如任何数值除以0,本是不符合规范的,js里,这样的操作返回NaN
    2、NaN有两个不同寻常的特点:任何涉及NaN的操作都会返回NaN,NaN值与任何值都不相等,包括本身。
    3、isNaN()函数,这个函数可以判断,传递的参数是否“不是数值”这里涉及数值转换的问题,例如“10”这个字符串就可以转换为10,但是“blue”这个字符串则无法转换为数字,所以isNaN("blue")==true
  • 数值转换
    有三个函数可以把非数值转换为数值:Number(),parseInt(),parseFloat()。第一个可以用于任何数据类型,后两个,则专门用于把字符串转化为数值。

5.String

  • 用来表示字符串,要么用双引号要么用单引号,下面的写法都是有效的
var firstName = 'juan';
var lastName  = "yu";
  • toString()函数,每个值都有,但是null与undefined没有。一般情况下使用这个函数时,没有必要传递参数,但是调用数值的 toString()方法时,可以传递基数,默认传递的是10,代表十进制。
  • String()函数可以将任何类型的值转换为字符串,包括null转换为'null'、undefined转换为'undefined',也就是返回了这两个值的字面量。

一种引用类型:Object

  • 对象是一组数据和功能的集合
  • 创建对象的有两种方法:
    1.字面量表示法,我习惯这种创建方法
var object = {};

2.new()方法

var object = new Object();
  • 对象被写在一对花括号里。在括号内部,对象的属性name : value的形式来定义。属性由逗号分隔:
var person={firstname:"John", lastname:"Doe", id:5566};

有两种获取属性的方法

name=person.lastname;//比较常用
name=person["lastname"];

好了,继续加油!

每天都努力一点
谢谢你看完


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容