美文网首页
你所不知道的JS数据类型

你所不知道的JS数据类型

作者: 元气满满321 | 来源:发表于2017-03-08 15:57 被阅读85次

    今天介绍的是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"];
    

    好了,继续加油!

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


    相关文章

      网友评论

          本文标题:你所不知道的JS数据类型

          本文链接:https://www.haomeiwen.com/subject/dnmegttx.html