Javascript笔记——Javascript数据类型转换

来源:互联网 发布:双板挑选 知乎 编辑:程序博客网 时间:2024/04/25 09:17

在javascript中数据类型的转换分为两种,一种是隐式类型转换,还有一种是强制转换,下面来简单介绍下这两种数据类型的转换。



- 隐式类型转换

在没有特意指定类型来进行数据转换的都是隐式类型转换,以下的三种情况都是属于隐式类型转换。

1、如果在字符串之间或者一个字符串与任意数据类型的变量之间使用+,那么“+”就代表连接符号,而不是加号,会将数据类型转化为String类型。

var a="123";console.log(a+"1");//输出1231console.log(a+1);//输出1231console.log(a+1.1);//输出1231.1console.log(a+true);//输出123trueconsole.log(a+undefined);//输出123undefinedconsole.log(a+null);//输出123null

2、除去+号外,其余的几种运算符号(包括-、*、/、%、++、- -),会将数据类型隐式转换为Number类型。

var a="123";console.log(typeof a);//stringconsole.log(typeof (a-2));//numberconsole.log(typeof (a*2));//numberconsole.log(typeof (a/2));//numberconsole.log(typeof (a%2));//numberconsole.log(typeof (a++));//numberconsole.log(typeof (a--));//number

3、使用比较运算符(包括>、<、>=、<=、==、!=、===、!==)会把数据类型强制转换为Boolean类型。

console.log(typeof (1>2));//booleanconsole.log(typeof (1<2));//booleanconsole.log(typeof (1==2));//booleanconsole.log(typeof (1<=2));//booleanconsole.log(typeof (1>=2));//booleanconsole.log(typeof (1!=2));//boolean




- 强制类型转换

强制转换其实很简单,只需要按照如下方法操作即可:

//你想要把变量转换成什么类型,那么就用你想要转化为的类型做方法名://要转换成的数据类型(要进行转换的变量名);var a=0;Number(a);String(a);Boolean(a);




1、Number( )

将一个变量强制转换为数值类型一共有一下几种情况。

类型 强制转化为Number类型 String 如果该字符串全为数字,就为当前数字;如果含有其他字符,那么改变量的值为NaN;如果是空字符串或者字符串中只含有空格,那么就转换为0 。 Boolean true=》1 ; false=》0 Null 0 Undefined NaN



将变量转换为数值类型的还有两个方法,分别是parseInt( )、parseFloat( )。
注意:这两个方法和Number( )有一点区别,他们会把凡是没有数字的变量(包括null和undefined)转换为NaN。
parseInt(变量名); 将一个变量转换成整型,不保留小数,碰到不是数字的字符才停止转换。
parseFloat(变量名); 将一个变量转换成浮点型,保留小数,碰到不是数字的字符(除了第一个小数点)才停止转换。

var a="123";document.write(a+"按parseInt转化-->"+parseInt(a)+"<br>");document.write(a+"按parseFloat转化-->"+parseFloat(a)+"<br>");a="12.2545";document.write(a+"按parseInt转化-->"+parseInt(a)+"<br>");document.write(a+"按parseFloat转化-->"+parseFloat(a)+"<br>");a="123.125a225d";document.write(a+"按parseInt转化-->"+parseInt(a)+"<br>");document.write(a+"按parseFloat转化-->"+parseFloat(a)+"<br>");a="a75375";document.write(a+"按parseInt转化-->"+parseInt(a)+"<br>");document.write(a+"按parseFloat转化-->"+parseFloat(a)+"<br>");a=true;document.write(a+"按parseInt转化-->"+parseInt(a)+"<br>");document.write(a+"按parseFloat转化-->"+parseFloat(a)+"<br>");123parseInt转化-->123123parseFloat转化-->12312.2545parseInt转化-->1212.2545parseFloat转化-->12.2545123.125a225d按parseInt转化-->123123.125a225d按parseFloat转化-->123.125a75375按parseInt转化-->NaNa75375按parseFloat转化-->NaNtrueparseInt转化-->NaNtrueparseFloat转化-->NaN




2、String( )

通过String方法可以将其他类型的变量转换为String类型,无论是什么类型的变量转换为String只是加上双引号。例如:
123 ->”123”
true -> “true”
false-> “false”
null -> “null”
undefined->”undefined”
除了String( )外,toString( )方法也可以将一个变量转换为字符串,该方法继承自Object。
通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。但是null和undefined是没有toString( )方法的。

var v=12;console.log(typeof v.toString());//string

toString( )方法可以传递一个参数,表示数值的基数。 默认情况下 参数是10。另外对于非数值类型(boolean,string等)设置toString()的参数是无效的。

var v=12;console.log(v.toString(16));//cconsole.log(v.toString(8));//14console.log(v.toString(2));//1100



3、Boolean( )

对于Boolean( ),只有当变量为0,false,null、undefined、空字符串的时候才会转会为false,其余都为true。

0 0
原创粉丝点击