美文网首页
01-JS的数据类型

01-JS的数据类型

作者: 陈光展_Gz | 来源:发表于2019-04-06 15:03 被阅读0次

    JavaScript数据类型概述

    • 在JS中一共有六种数据类型
      • String 字符串(基本数据类型)
      • Number 数值(基本数据类型)
      • Boolean 布尔值(基本数据类型)
      • Null 空值(基本数据类型)
      • Symbol 符号(基本数据类型)
      • Undefined 未定义(基本数据类型)
      • Object 对象(引用数据类型)

    字符串类型

    • String用于表示一个字符序列,即字符串
    • 字符串需要使用 ’或“ 括起来
    var str1 = "hello";
    var str2 = `gz`;
    var str5 = `hello gz"; // false
    console.log(typeof str1 ); // string
    console.log(typeof str2); // string
    
    • 相同引号不能嵌套,不同引号可以嵌套
      • 双引号不能放双引号,单引号不能放单引号
    var str3 = "hello "gz""; //  false
    var str4 = `hello `gz``; //  false
    var str5 = "hello 'gz'"; // true
    var str6 = `hello "gz"`;// true
    
    • 给变量加上引号, 那么变量将变为一个常量
    var num = 110;
    console.log(num); // 输出变量中的值
    console.log("num"); // 输出常量num
    

    Number类型

    • 在JS中所有的数值都是Number类型(整数和小数)
    var num1= 123;
    var num2= 3.14;
    console.log(typeof num1); // number
    console.log(typeof num2); // number
    
    • 由于内存的限制,ECMAScript 并不能保存世界上所有的数值

      • 最大值:Number.MAX_VALUE
    console.log(Number.MAX_VALUE);  // 1.7976931348623157e+308
    
    • 最小值:Number.MIN_VALUE
    console.log(Number.MIN_VALUE);  // 5e-324
    
    • 无穷大:Infinity, 如果超过了最大值就会返回该值
    console.log(Number.MAX_VALUE + Number.MAX_VALUE); // Infinity
    

    无穷小:-Infinity, 如果超过了最小值就会返回该值

     console.log(typeof Infinity); // number
     console.log(typeof -Infinity); // number
    
    • NaN 非法数字(Not A Number),JS中当对数值进行计算时没有结果返回,则返回NaN
    var num3 = NaN;
    console.log(typeof num3); // number
    
    • Number类型注意点
      • JS中整数的运算可以保证精确的结果
    var sum1 = 10 + 20;
    console.log(sum1); // 30
    
    • 在JS中浮点数的运算可能得到一个不精确的结果
    var sum1 = 10.1 + 21.1;
    console.log(sum1); // 31.200000000000003
    

    Boolean 布尔值

    • 布尔型也被称为逻辑值类型或者真假值类型
    • 布尔型只能够取真(true)和假(false)两种数值
    var bool1 = true;
    var bool2 = false;
    console.log(typeof bool1); // boolean
    console.log(typeof bool2); // boolean
    
    • 虽然Boolean 类型的字面值只有两个,但 ECMAScript 中所有类型的值都有与这两个 Boolean 值等价的值

      • 任何非零数值都是true, 包括正负无穷大, 只有0和NaN是false
      • 任何非空字符串都是true, 只有空字符串是false
      • 任何对象都是true, 只有null和undefined是false
    var bool3 = Boolean(0);
    console.log(bool3); // false
    var bool4 = Boolean(1);
    console.log(bool4); // true
    var bool5 = Boolean(-1);
    console.log(bool4); // true
    var bool6 = Boolean(Infinity);
    console.log(bool4); // true
    var bool7 = Boolean(-Infinity);
    console.log(bool4); // true
    var bool8 = Boolean(NaN);
    console.log(bool8); // false
    var bool9 = Boolean(undefined);
    console.log(bool8); // false
    var bool10 = Boolean(null);
    console.log(bool8); // false
    var bool11 = Boolean("");
    console.log(bool8); // false
    var bool12 = Boolean("abc");
    console.log(bool12); // true
    

    Null和Undefined

    • Undefined这是一种比较特殊的类型,表示变量未赋值,这种类型只有一种值就是undefined
    var num;
    console.log(num);  //结果是undefined
    
    • undefined是Undefined类型的字面量
      • 前者undefined和10, "abc"一样是一个常量
      • 后者Undefined和Number,Boolean一样是一个数据类型
      • 需要注意的是typeof对没有初始化和没有声明的变量都会返回undefined。
    var value1 = undefined;
    console.log(typeof value); //结果是undefined
    
    var value2;
    console.log(typeof  value2); //结果是undefined
    
    

    相关文章

      网友评论

          本文标题:01-JS的数据类型

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