javascript里面的数据类型有哪些

如题所述

我们先来认识下JavaScript中的数据类型。JavaScript是弱类型语言,开始的时候并不知道变量时什么类型,必须通过存储的具体的值才能判断变量的类型。

JavaScript的数据类型分为基本数据类型和复杂数据类型。其中,基本数据类型: Number(数字),String(字符串),Boolean(布尔),Undefined(未定义),Null(空);复杂(引用)数据类型: Object(对象), Array(数组), Function(函数)。我们可以使用typeof操作符检查变量的类型,语法为typeof(变量)/typeof 变量,typeof返回值: number, string, boolean, undefined, object, function。今天我们来认识下JavaScript中的基本数据类型。

首先,我们来认识下Number类型。number类型就是数字类型,主要用于存储数据,参与数学运算。number类型包括 整数,小数,正数,负数,各种进制的数字和特殊数字。我们通过下面的代码来认识下number类型:

    // 1.1 普通整数和小数 

    var num1 = 10; 

    var num2 = 2.5; console.log(typeof(num1), typeof num2); 

    // 1.2 负值 

    var num3 = -0.2; 

    console.log(num3, typeof num3); 

    // 1.3 八进制,以 0 开头并且没有超过 8 的值,则为 8 进制 

    var num4 = 070; 

    console.log(num4, typeof num4); // 56 number 

    // 1.4 十六进制,0x 开头,则为 16 进制 

    var num5 = 0x10; 

    console.log(num5, typeof num5); //15 number 

    除了上面的number类型,JavaScript中还有一些特殊的数字类型:

    1、NaN: not a number,算术运算不能得到正常数字时会返回NaN,NaN不和NaN相等。

    2、Infinity: 无穷大。

    3、e: 10的次幂 1e9代表1乘以10的9次幂

    4、小数相加会有误差

    //1.1 NaN not a number 算术运算不能得到正常数字都会返回 NaN var num5 = ‘a’ - 5; 

    console.log(num5, typeof num5); // NaN number 

    // 1.2 无穷大 

    var num6 = 1 / 0; 

    console.log(num6, typeof num6); // Infinity number 

    // 1.3 小数相加 会有一点偏差  

    console.log(0.1+0.2); // 0.30000000000000004 

    接下来,我们来认识下String类型,string类型就是字符串类型,是用引号引起来的内容,单引号和双引号都可以, 例如:“web”, ‘web’。字符串有一个常用属性length,用来表示字符串的长度,字符串中的任意字符都占字符串的一个长度,字符串也可以通过charAt(下标)方法来获取对应下标的字符,需要注意的是,字符串中下标是从0开始的,除了charAt()方法外,也可以使用字符串加中括号的形式获取对应下标的字符。

    var str1 = ‘abc’; 

    var str2 = “123”; 

    console.log(typeof str1,typeof str2); //string string 

    console.log(str1.charAt(0)); // a 

    console.log(str1[0]]); // a 

    此外,所有我们从 input 表单中获取的用户输入的内容都是字符串,哪怕输入的是数字。例如下面的例子。

    <input type="text" id="oIn"> 

    <button id="oBut">输出内容</button> 

    oBut.onclick = function () { 

    var value = oIn.value;  

    console.log(typeof value); // string 

    接下来,我们来认识下Boolean类型。Boolean: 布尔类型, 只有真和假,也就是true/false。

    var bool1 = true; 

    var bool2 = false; 

    console.log(typeof bool1, typeof bool2); // boolean boolean 

    console.log(10 > 20); //false 

    if(10   >   20){ // if 的小括号里面,会自动转换成 boolean 类型 

    alert(true) 

    }; 

    除了通过比较能得到 Boolean 的值以外,还有一个口诀来判断条件是否为真:非 0 为真,非空为真”。即 0 为假,其他数字为真,空字符串为假,其他为真。

    最后,我们来认识下null和undefined。null表示值为空,undefined表示变量没有初始化(声明未赋值),值的空缺。null表示空对象,使用typeof操作符得到的“object”。undefined:undefined类型,当声明变量未赋值时,变量的值就是undefined,类型也是undefined。

    var a = null; 

    console.log(a); // null 

    console.log(typeof a); // object 

    // var b = undefined; 

    var b; 

    console.log(b); // undefined 

    console.log(typeof b); // undefined 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-24
一、六个基础数据类型:
字符
数字
布尔
对象
null
undefined
二、其中对象数据类型常用的又有:
数组
函数
正则表达式
日期
普通意义的数组

注:ES6 又新增了第七种 Symbol 类型本回答被提问者采纳
相似回答