美文网首页
JS中的数据类型和转换

JS中的数据类型和转换

作者: S等价交换S | 来源:发表于2019-05-31 14:39 被阅读0次

一、JS中的数据类型

js中的数据类型可以分为五种:number 、string 、boolean、 underfine 、null。

number:数字类型 ,整型浮点型都包括。

string:字符串类型,右数字字母字符串以及标点符号组成,必须放在单引号或者双引号中。

boolean:布尔类型,只有true和false两种值。

underfine:未定义,一般指的是已经声明,但是没有赋值的变量,如var a;

null:空对象类型,var a = null,和var a=""有区别;

object:对象,对象就是把一些彼此相关的属性和方法集合在一起构成的一个数据实体,在js常见的有window,document,array等。

NaN:他是表示不是数字值的特殊值,可以理解为Number的一种特殊类型,只有当在js运算中发生数据类型转换时提示,isNaN()方法是特有的对数据进行判断的 ,如果是数字返回false,不是数字返回true。

二、数据类型转换

        在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用js弱变量类型转换)。

强制转换:

        利用js提供的函数parseInt() ,parseFloat() ,Number(),Boolean()进行数据转换,顾名思义,前两个分别是对数据进行解析转换,前者是整数,后者是浮点数。他们解析的原则是从前往后进行解析,尽其所能。若存在有能识别的数字就解析,如果第一位就不是数字则返回NaN.Number则是对整体进行判断,是数字返回数字,否则NaN.Boolean()则是对是否存在和真假进行判断进行判断。

ParseInt():

        parseInt("123");//123

        parseInt("+123");//123

        parseInt("-123");//-123

        parseInt("12.3元")//12

        parseInt("abc");//NaN

         parseInt([1,2])//1

         parseInt([1,2,4])//1

          parseInt("  ");//NaN

该方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,所以要解析十六进制的值,对于含有前导的数则直接进行解析需如下调用:

        parseInt("AA",16);//170

        parseInt("10",2);//2

        parseInt("10",8);//8

        parseInt("10",10);//10

        //含有前导

        parseInt("0xAA")//170        

        //如果二进制数包含前导0,那么最好采用基数2,不然默认以十进制解析

        parseInt("010");   //returns   10 

parseInt("010",2);//2         parseInt("010",   8);   //returns   8          parseInt("010",   10);   //returns   10 

        parseInt(null)//NaN

ParseFloat():

        parseFloat("123");//123

        parseFloat("-123");//-123

         parseFloat("+123");//123

        parseFloat("12.34");//12.34

         parseFloat("12.35元")//12.35

        parseFloat("12.23.122");//12.23

        parseFloat("av");//NaN

        parseFloat("0xAA");//0

        parseFloat("0110");//110

        parseFloat([1]);//1

        parseFloat([2,3]);//2

        parseFloat([]);//NaN

        parseFloat(null)//NaN

Number():

        alert(123);//123

        Number("123");//123

        Number("+123");//123

Number("12.3");//12.3

        alert(12.3元);//false

        Number(true);//1

        Number("12.3.4");//NaN

        Number(" ");//0

        Number("abc");//NaN

        Number([]);//0

        Number([1]);//1

        Number([1,2]);//NaN

        Number(new Object());//NaN

        Number(null);//0

Boolean():他不会对引号里面的数字进行自动进行转换。

        Boolean(1) ;//true

        Boolean(0);//false

        Boolean("1");//true

        Boolean("0");//true

        Boolean("abc");//true

        Boolean('');//false

        Boolean('   ');//true

        Boolean([])//true

        Boolean([1])//true

        Boolean(null)//false

而String()则是传入的所有数据类型转换为字符串。

//和toString()方法的区别是

typeof String(null)//String

typeof String(undefined)//String

 隐式类型转换:

    隐式类型转换和java中大不相同,在js中数据类型不严格,没有浮点和整型,这里的隐式类型转换指的是字符串和数值类型之间的转换,在进行字符串和数字之间进行减乘除取模运算或者进行比较运算时,他会自动把字符串转换为数字。转换数字的默认方法是调用Number(),进行加法运算则是将数字看成字符串进行拼接. var x = "123";

var y = 121;

alert(x+y);//"123121;

alert(x-y);//2

alert(x*y);//14883

alert(x/y);//1.016528256198346

alert(x%y);//2

alert(x>y);//true

alert(x==y);//false

alert("123a">y);//false诡异

js只一中弱类型的脚本语言,语法相对与java等高级编程语言来说不够严格,所以对于它的数据类型和之间的转换很容易混淆,以上仅是个体会,如有错误,欢迎指出

相关文章

  • 2、强制数据类型转换

    数据类型转换: 在js中,数据类型的转换有两种,分别是自动转换和强制转换 自动转换: 自动转换是用JS进行某些操作...

  • JS里的数据类型转换

    在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换。 1, 显式数据类型转换 a:转数字: 1)Numb...

  • JavaScript类型转换

    在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用js弱变量类型转换)。 强制类型转换 即通过使...

  • JS数据类型转换(2)

    在上一篇的js数据类型转换(1)中,只考虑了基础数据类型之间的相互转换,未考虑对象和基础类型的转换,本篇做介绍。 ...

  • JavaScript的显式转换和隐式转换

    js的显式转换和隐式转换都是数据类型的转换;js的数据类型是弱类型的,即可以给变量赋值为任意的数据类型,当进行运算...

  • JS 里的数据类型转换

    JS 里的数据类型转换 Js中的数据类型一共有7种,即number,string,boolean,underfin...

  • JS里的数据类型转换

    上一篇文章(JS里的数据类型)介绍了js中的数据类型。这篇主要介绍数据类型转换。 一、任意类型转字符串 转换成st...

  • 基本语法

    js的基本数据类型 类型转换 Global 和 Math

  • JavaScript 01 (JS引入/变量/数据类型/类型转换

    JS的引入及调试,常量,字面量,变量,JS中的数据类型,JS的运算符,JS的运算符之隐式类型转换,强制类型转换,M...

  • javaScript中数据类型转换方法

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

网友评论

      本文标题:JS中的数据类型和转换

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