关于js里面的数据类型

目录

一,数据类型介绍

1,1为什么需要数据类型

1.2 变量的数据类型

二,简单的数据类型

1,数字型 Number

 (1),类型

 (2),取值范围

(3),进制的转换

(4),三个特殊值

(5),isNaN()

2,字符串型 String

(1)字符串型数据写法

(2). 字符串引号嵌套

 (3).字符串转义符

(4),字符串的长度

 (5). 字符串拼接    

3,布尔型Boolean

4,Undefined(未定义的)

5,Null(空值)

三,获取变量数据类型

    1,获取检测变量的数据类型

 2,字面量

四,数据类型转化

     1,什么是数据类型转换

  2,转换为字符串类型

  3,转换为数字型

     4,转换为布尔型


一,数据类型介绍

1,1为什么需要数据类型

在计算机中,不同的数据所需占用的存储空间是不同的,

为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,

于是定义了不同的数据类型

1.2 变量的数据类型

变量是用来存储值的所在处,它们有名字和数据类型。

不同的数据类型,内存会分配不同的空间来储存,这样可以节省空间

二,简单的数据类型

js之中数据分为两类,这里我们主要分析简单的数据类型

           简单数据类型 (Number,String,Boolean,Undefined,Null

           复杂数据类型 (object)对象

1,数字型 Number

 (1),类型

        JavaScript 类型既可以用来保存整数值也可以保存小数(浮点数) 

      var age = 18;        //整数
      var money = 9.15;    //小数

 (2),取值范围

       js 里面的数字取值是有范围的

    alert(Number.MAX_VALUE); // 最大值 1.7976931348623157e+308
    alert(Number.MIN_VALUE); // 最小值 5e-324

(3),进制的转换

  // 1.正常的数字,在前面加上 0 ,就代表八进制

  var num1 = 07;  // 对应十进制的7
  var num2 = 010; // 对应十进制的8
  var num3 = 011; // 对应十进制的9

  console.log(num1,num2,num3);
  // 2.十六进制数字序列范围:0~9以及A~F
  // 同理,前面加上0x,就代表是十六进制
  var num = 0xA;    //对应十进制中的10
  console.log(num);

(4),三个特殊值

1,Infinity ,代表无穷大,大于任何数值
2,- Infinity ,代表无穷小,小于任何数值

    3, NaN ,Not a number,代表一个非数值

      alert(Infinity > 1.7976931348623157e+308); // true
      alert(-Infinity < 5e-324);                 // true
      alert("亚梓莎" - 300 ); // 这个明显计算不了,于是它输出 NaN

(5),isNaN()

            用来判断一个变量是否为非数的类型,返回 true 或者 false

             是数字返回false

             不是数字返回true

    var yzs = '亚梓莎';
    alert(isNaN(yzs));  //不是数字 返回true

    var age = 300;
    alert(isNaN(age));  //是数字,返回false

2,字符串型 String

(1)字符串型数据写法

   字符串型可以是引号中的任意文本语法为 双引号 " " 单引号' '

  因为 HTML 标签里面的属性使用的是双引号JS 这里更推荐使用单引号。

    var yzs = '亚梓莎';
    alert(yzs);          //输出亚梓莎

    var age = '300';
    alert(age)           //这里会输出300,但是这个300 不是数字型的数据,而是字符串,
                         //因为它有引号

(2). 字符串引号嵌套

       JS 可以用单引号嵌套双引号 或者用双引号嵌套单引号 (外双内单,外单内双)

     

         var yzs = '我是"双子座"的';   //输出 => 我是"双子座"的
         alert(yzs)

         var szz = "我也是'双子座'的"   //输出 =>我也是'双子座'的
         alert(szz)

 (3).字符串转义符

//          \n可以换行
         var yzs = '空\n格'  
        
         console.log(yzs);
         alert(yzs) //输出  = >   空
                    //           格

(4),字符串的长度

                  字符串是若干字符组成的,这些字符的数量就是字符串的长度

                  通过字符串的 length 属性可以获取整个字符串的长度

            var yzs = '打了300年的史莱姆,不知不觉就练到了满级';

            alert(yzs.length)  // 输出21,这个字符串长度是21

 (5). 字符串拼接    

1.   多个字符串之间可以使用 + 进行拼接
            其拼接方式为 字符串 + 任何类型 = 拼接之后的新字符串
2.   拼接前会把与字符串相加的任何类型转成字符串
             再拼接成一个新的字符串
    //1字符串 "相加"
    alert('hello' + ' ' + 'yzs'); // hello world

    //2数值字符串 "相加"
    alert('100' + '100'); // 100100

    //3数值字符串 + 数值
    alert('11' + 12); // 1112

 3.   字符串里还可以拼接字符串

    var yzs = 300;

    alert('亚梓莎姐姐' + yzs + '岁啦!'); //输出  亚梓莎姐姐300岁啦!

3,布尔型Boolean

(1).布尔型的概念

          布尔型只有两个值:true 和 false ,其中 true 表示真(对),而 false 表示假(错)

    var yzs = '亚梓莎姐姐';
    
    alert(yzs === '哥哥')       //错,所以输出false,

    alert(yzs === '亚梓莎姐姐') //对,所以输出true

 (2)布尔型数字型相加的时候, true 的值为 1 false 的值为 0 

      console.log(true + 1); // 2
      console.log(false + 1); // 1

4,Undefined(未定义的)

                         一个声明后没有被赋值的变量会有一个默认值 undefined

               ( 如果进行相连或者相加时,注意结果)

    var yzs;

    alert(yzs);          // 单独输出            undefined     

    alert('你好' + yzs); //与字符串一起输出     你好undefined

    alert(11 + yzs);     //与数字型一起输出     NaN   前面讲了这个NaN 意思是非数值

    alert(true + yzs);   //与布尔型一起输出     NaN

5,Null(空值)

        一个声明变量给 null 里面存的值为

    var yzs = null;

    alert('你好' + yzs);  // 你好null

    alert(11 + yzs);     // 11

    alert(true + yzs);   // 1

三,获取变量数据类型

    1,获取检测变量的数据类型

          typeof 可用来获取检测变量的数据类型

      

    var str = '字符串';
    var num = 18;
    var boo = 18 === 18;
    var und;
    var nul = null

    console.log(typeof str); // 结果 string 
    console.log(typeof num); // 结果 number
    console.log(typeof boo); // 结果 boolean
    console.log(typeof und); // 结果 undefined
    console.log(typeof nul);// 结果 object

 2,字面量

     1,字面量是在源代码中一个固定值的表示法通俗来说,就是字面量表示如何表达这个值

     数 字面量 :8, 9, 300
     字符串字面量:'亚梓莎', "姐姐"
     布尔字面量 true,false
2,输入代码
    console.log(18);
    console.log('18');
    console.log(true);
    console.log(undefined);
    console.log(null);

    控制台输出,注意不同数据类型,颜色不同

四,数据类型转化

     1,什么是数据类型转换

             使用表单prompt 获取过来的数据默认是字符串类型的

             此时就不能直接简单的进行加法运算,而需要转换变量的数据类型

             通俗来说,就是把一种数据类型的变量转换成另外一种数据类型

  2,换为字符串类型

          (1)toString()

    var num = 300;
    console.log(typeof num);  //number
    var yzs = num.toString();
    console.log(typeof yzs);  //string

        (2)Sting()  强制转换

    var yzs = 300;

    console.log(typeof yzs);         //number

    console.log(typeof String(yzs));  //string

    (3)利用 + 拼接字符串的方法实现传递效果

           因为是js帮我们转换的    所以又叫    隐式转换 

    var yzs =  ('亚梓莎' + 300);

    console.log(typeof yzs);  //string

  3,转换为字型

   (1).用parselnt()将数据转换为数字型

             

    var yzs = '300'
    
    console.log(typeof yzs);           //string
    
    console.log(typeof parseInt(yzs)); //number

           parselnt()会帮你取整,单位也会去掉

    console.log(parseInt('3.1')); //3
    console.log(parseInt('3.9')); //3
    console.log(parseInt('300px')); //300

   (2).用parseFloat()将数据转换为数字型

    var yzs = '300.300'
    
    console.log(yzs);                  //300.300

    console.log(typeof yzs);           //string
    
    console.log(typeof parseFloat(yzs)); //number

    console.log(parseFloat(yzs)); //300.3

    console.log(parseFloat('120px')); //120

 (3).Number强制转换

    var yzs = '300';
    console.log(Number(yzs)); //结果是数值形的300
    console.log(Number('120'));//结果是数值形的120

 (4),隐式转换

    console.log('300' - 0);//结果是数值形的300

     4,转换为布尔

使用这个函数

        代表空,否定的值会被转换为false,如  ‘ ’ ,0 ,NaN,  null,  undefined

        其余的值会被转换为true

    console.log(Boolean('')); // false
    console.log(Boolean(0)); // false
    console.log(Boolean(NaN)); // false
    console.log(Boolean(null)); // false
    console.log(Boolean(undefined)); // false
    console.log(Boolean('小白')); // true
    console.log(Boolean(12)); // true

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值