JavaScript数据类型

这篇文章详细介绍了JavaScript中的数据类型,包括基本数据类型的number(数值)、boolean(布尔)、undefined、string和null,以及引用数据类型中的Object,如Array、Function等。文中还举例说明了number类型的精度问题,boolean类型的真假值,undefined表示未赋值的变量,string的字符串拼接,以及null表示空对象指针的情况。
摘要由CSDN通过智能技术生成
JavaScript中的数据类型分为基本数据类型引用数据类型
基本数据类型: number、boolean、undefined、null、string;
引用数据类型: Object(Array,Function, Object, Date等)

一、基本数据类型

基本数据类型主要分为:

number类型、boolean类型、undefined类型、string类型、null类型。
  1. number类型

  <!-- number类型 -->
    <!-- number类型,即数值类型, 包含:整数型、浮点型、NaN(not a number)和Infinity(正负无穷大) -->
    <script>
        //整数类型
        var age = 18;
        console.log(age);
        console.log(typeof (age));
        // 浮点型
        var price = 3.21;
        console.log(price);
        console.log(typeof (price));
        // 注意:因为小数的存储特点,两个小数做运算,得到的结果未必精确。
        var p1 = 0.1;
        var p2 = 0.2;
        p3 = p1 + p2;
        p4 = p1 + p2;
        console.log(p3);
        /*
         解决方案:
        toFixed(1)保留一位小数,返回的是字符串类型
        需要使用parseFloat转成浮点数类型
        parseFloat((0.1+0.2).toFixed(1)) 
        */
        // +-Infinity正无穷大和负无穷大
        var max=1/0;
        console.log(max);
        console.log(typeof (max));
        var min=-1/0;
        console.log(min);
        console.log(typeof (min));
        // NaN全称: NOT A NUMBER。
        // 我们可以通过isNaN()函数来判断某个变量是否为NaN,例如:如果value是NaN,则isNaN         //(value)返回的结果是true;如果value不是NaN,则isNaN(value)返回的结果是false。
        var num=parseFloat("123abc");
         // Number(value), 此处是把字符串转化为number类型
         console.log(num); // 输出: NaN
         console.log(typeof(num)); // 输出: number
         console.log(isNaN(num));// 输出: true, 判断num是不是NaN类型

结果如下:

  1. boolean类型

 <script>
        /* boolean: 布尔类型,布尔类型只有两个值:true 和 false
        true: 表示为真或条件成立
        false: 表示为假或条件不成立
        boolean类型常用于条件判断中,如果条件成立,则返回true;条件不成立,则返回false
       */
      var k1=1;
      var k2=2;
      k3=k2>k1;
      k4=k2<k1;
      console.log(k3); //   true
      console.log(typeof(k3));//   boolean
      console.log(k4); //   false
      console.log(typeof(k4));//   boolean

    </script>
  1. undefined类型

<script>
        /* undefined类型只有一个值,就是undefined
        表示只声明但未赋值的变量。
       */
        var hi;
        console.log(hi); // 输出: undefined
        console.log(typeof(hi)); // 输出: undefined


    </script>
  1. string类型

<script>
        /* string类型就是字符串,在JavaScript语言中,使用单引号或双引号包裹的内容,我们都称之为字符串。 */
        var str='Hello how are you?';
        console.log(str);// 输出:Hello how are you?
        console.log(typeof(str));// 输出:string
        // 字符串简单使用:字符串的拼接,可以用“+”来做拼接。
        var str1 = "Hello";
        var str2 = " World!";
        var str3 = str1 + str2;
        console.log(str3); // 输出:"Hello Word!"


    </script>
  1. null类型

<script>
        // null类型只有一个值,就是null,从逻辑角度看,null值表示一个空对象指针。
        var obj = null;
        console.log(obj);          // 输出:null
        console.log(typeof obj);   // 输出:object
        /* 因为null表示的是一个空对象的指针,所以使用typeof操作符检测null会返回object的原因。
        本质上这是一个bug,因为当初设计JavaScript这门语言的时候比较仓促,后来发现的时候已经好多开发者在使用了,如果修改这个bug对原有项目的代码改动极大,所以就只能将错就错了。
        */

    </script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天晴了小甜筒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值