JS数据类型

Posted webliusir

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS数据类型相关的知识,希望对你有一定的参考价值。

此贴为对JS基础数据类型的一些整理,包含了数据类型介绍、类型转换、运算符,很基础,也有不完善的地方,望大家补充,后期也会继续完善。

 

一.数据类型

  js基本数据类型包含了:

  1.简单的数据类型

    1.1number数值型,包含了:整数、小数、NaN(错误算法得到的值)、无穷大(Infinity)、二进制、八进制等进制

      他们的typeof返回值为number,typeof可为判断数据类型,可直接打印在控制台:console.log(typeof 5) 返回值为number

      注意点:小数运算比较时要用toFixed()保留小数位,不然会出现:0.1+0.2=0.30000000000000004的情况。

    2.string字符串类型:有双引号或者单引号包围起来的内容,typeof的返回值是string。字符串长度:字符串.length

      获取字符串里字符的方法:1.可以通过字符串下标获取:第一个下标为0,最后一个下标是字符串长度-1。字符串.str[下标]ie7及以下浏览器不支持、字符串.charAt(下标)所有浏览器都支持。

    3.boolean布尔类型:true、false,typeof返回值是boolean

    4.null:n=null,null表示在将来准备存储对象,现在没有值,则先把值设置为null,注意:typeof返回值是object

    5.undefined:声明了变量,但是未赋值,typeof返回值是undefined

  2.复杂的数据类型:也称引用数据类型。object包含:

    1.对象:window、document、以及页面当中的所有元素都可理解为对象,可以说是万物皆对象。typeof返回值是object,定义:var ojb 

    2.数组:一组数据的集合,可以值字符串类型,也可以是数值类型。typeof返回值是object,定义:var arr=[ ]

    3.函数:被设计为执行特定任务的代码块,用来存储代码块,会在代码调用它时被执行。typeof返回值是function,定义:function 函数名() 代码块(或脚函数方法)

                                                          function fun ()

                                                                console.log("函数");

                                                                 

    4.程序世界的真真假假:可以通过if(需要判断的值) alert(“这是真”) elsealert(“这是假”)去判断,为假的有:false    0   NaN   ‘空字符串‘  null   undefined

               另外,所有对象object皆为真

 

二.数据类型转换

  数据类型有两种:1.强制转换  2.隐式转换

  1.强制转换:

    1.转为字符串:变量名.toString( ),不能转换null和undefined;String.(变量名),可以转换任意数据;

    2.转换为数值:

        1.Number(变量名)可以转换任意类型,只有能转成功或者不成功,成功则返回数值,不成功则返回NaN,如Number("10a")则返回NaN

        2.parseInt(变量名)或者parseInt(变量名,进制): 转换规则为从左向右一位一位的找,如果是数字则看下一位,如果是其他字符则到此为止,只取整,不会四舍五入

          另外该方法可转换进制,如果不填入进制会按默认方法识别转换(ie浏览器必须写进制),如 parseInt(070) 因为8进制前缀是0,会识别为8进制输出为56;parseInt(0x70)因为0x是16进制的前缀,所有此时会输入为112;也可以按自身需求填入进制,如parseInt(70,16)这时按16进制转换输入112

        3.parseFloat(变量名):规则与parseInt一样,但是会识别字符串中的一个小数点,并且不支持进制转换。如:

          parseFloat("11.11")会转换为11.11    parseFloat("11.112.11.11")会转为11.112

  2.隐式转换:在此我们先简单的说明,以后再详细说明。在我们做数学运算的时候会触发隐式转换,比如:var a=11   b="2"  console.log(a-b) ,这时就会自动将b转为数值型,打印输入为:9

三.运算符

  包含4大运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符

   1.算术运算符:包含加 +、减-、乘*、除/、取余%、加加++、减减--

      1.加+:当两边都是数值时为加法运算;当操作符两边有字符串时,会触发隐式转换,变成连接符

      2.减-:减法,会触发隐式转换,如 var a="11"  b="2"  console.log(a-b) 输出为9

      3.除/:如果两边不是数字,则转为数字运算

      4.乘*:如果两边不是数字,则转为数字运算

      5.余%:如果两边不是数字,则转为数字运算

      6.加加++:自我增加,每次增加1

           ++前置时先做自增,后做其他运算

           ++后置时先做其他运算,再做自增

          举例:var num=2     sum=0   

              sum=++num + num++

              console.log(sum,num)输出为:6 4

            或者:sum=++num + (num++)

              console.log(sum,num)输出同样是:6  4

      7.减减--:规则与++一样

   2.赋值运算符:=、+=、-=、*=、/=、%=

         =为赋值运算符,把右边的值赋给坐标

         a=5 为把5赋值给a

         a+=5---------a=a+5

         a-=5----------a=a-5

   3.比较运算符:>    >=大于、大于等于      <    <=小于、下雨等于    

          ==      !=等于、不等于:值相等,但是类型不一定相等

          特殊举例:console.log( null==undefined)输出为true

               console.log(NaN==NaN)输出为false  

               console.log([ ]==[ ])输出为 false

               console.log( == )输出为false

               console.log(‘ ‘==‘ ‘ )输出为true

          ===    !== 全等于 、不全等于:值相等,类型也相等

          特殊举例:console.log(10===10)输出为true

               console.log(10==="10")输出为false

               console.log(null===undefined)输出为false

    4.逻辑运算符:

      1.&&与:规则:操作符两边为真则为真,一边为假则为假

          短路操作:如果左边有假,直接结束,不会继续判断后面的

          如果左右都为真,并且有具体值得时候,则返回最后的值

            如:console.log(1 && 2)输出为2

              console.log(1 && 2 && 4>2)输出为true

              consosle.log(1 && 2 && 4>2 && 5) 输出为5

          如果左边能够决定是否继续,就不用继续到右边了,如果坐标是一个值,则返回该值,如果是一个表达式,则返回布尔值

            如:console.log(0 && 1 && 3>2) 这时判断0时就终止不往右了,返回值:0

              console.log(1>3 && 1&& 3>2) 这时判断1>3后就终止了,返回布尔值 false

       2.|| 或:规则:操作符两边有一边为真,即为真,全部为假才为假

          短路操作,左边为真,直接结束,不会继续判断

         3. !  非 :规则:取反,非真即假,非假即真。

以上是关于JS数据类型的主要内容,如果未能解决你的问题,请参考以下文章

js数据类型BigInt

JS-判断js数据类型的几种方式

js的数据类型有哪几种

01 JS的数据类型及如何判断数据类型

JS的基本数据类型

JS开发中基本数据类型都有哪些