js引用数据类型有哪些?js中有六种数据类型:undefined、null、boolean、number、string以及object。其中前面五种是简单数据类型,也是基本常用的js数据类型,最后一种是复杂数据类型,那么这些数据类型之间是如何转换的呢?让我们来看一看下面的介绍。
一、声明变量
一条语句,多个变量
可以在一条语句中声明很多变量。该语句以 var 开头,并使用逗号分隔变量即可:
var name="gates", age=56, job="ceo";
声明也可横跨多行:
var name="jim",age=32,job="ceo";
二、显式数据类型转换
1.转数字
有三个函数可以把非数值转换为数值:number()、parseint()、parsefloat()。number可以用于任何数据类型,而另两个函数则专门用于把字符串转换为数值。
1.number转换:
转换规则如下:
1)如果是boolean值,true和false将分别被转换为1和0。
2)如果是数字值,只是简单的传入和返回。
3)如果是null值,返回0。
4)如果是undefined,返回nan。
5)如果是字符串,遵循下列规则:
· 如果字符串只包含数字,则将其转换为十进制数值;
· 如果字符串包含有效的浮点格式,如"1.1",则将其转换为对应的浮点数值。
· 如果字符串中包含有效的十六进制格式,如"0xf",则将其转换为相应大小的十进制整数;
· 如果字符串为空,则将其转换为0;
· 其他,转换为nan。
6)如果是对象,则调用对象的valueof()方法,然后依照前面的规则转换返回的值。如果转换的结果是nan,则调用对象的tostring()方法,然后再次依照前面的规则转换返回的字符串值。
var num1 = number("hello world"); //nanvar num2 = number(""); //0var num3 = number("0011"); //11var num4 = number(true); //1
2.parseint()
忽略字符串前面的空格,直至找到第一个非空字符,会忽略后面的非数字字符;如果第一个字符不是数字符号或者负号,返回nan;会将小数取整(向下取整)
var num1 = parseint("1234blue"); //1234var num2 = parseint(" "); //nanvar num3 = parseint(22.5): //22
3.parsefloat()
与parseint一样,唯一区别是parsefloat可以保留小数。
2.转字符串
可以将其它的数据类型转成字符串。
1.转型函数string()string()函数遵循下列转换规则:
1)如果值有tostring()方法,则调用该方法并返回相应结果;
2)如果值是null,则返回"null";
3)如果值是undefined,则返回"undefined";
2.tostring()的方法来进行转换
var num1 = 10;var str1 = num1.tostring(); //"10"
注意:
调用数值的tostring()方法时,可以传递一个参数:输出数值的参数,通过这个值可以输出以二进制、八进制、十六进制,乃至其他任意有效进制格式表示的字符串值。
var num = 10;num.tostring(); //"10"num.tostring(2); //"1010"num.tostring(8); //"12"num.tostring(10); //"10"num.tostring(16); //"a"
三、转boolean类型
boolean类型的字面值true和false是区分大小写的。任何非空字符串、任何非零数字值、任何对象可以转换为true,而空字符串、0和nan、null和undefined则为false。
var mes = "hell0";var mesbool = boolean(mes); //true
3.隐式转换
1.转number
var num = "123";num = +num;
加减乘除以及最余都可以让字符串隐式转换成number.
2.转string
var str = 123;str = str + "";
3.转boolean
var bool = 123;bool = !!bool;
相关推荐:
js的数据类型及js基本数据类型具体有哪几种
js数据类型转换总结
以上就是js数据类型有哪些?这些js数据类型之间是如何转换的?的详细内容。