代码描述:javascript数据类型 隐式和显式转换。javascript数据类型隐式和显式转换源码下载
在javascript的实际编码中,经常会有意无意的用到数据类型转换。 先看一段代码实例:
<script> var str="5"; var num=5; console.log(str+num); </script>
由上面代码的运行结果可以看出,数字被转换为字符串类型,然后再进行字符串连接,使用的隐式转换。 下面就分别介绍一下javascript中数据的隐式转换和显示转换。 javascript中的数据类型是松散的,并不像c#或者java中的数据是强类型的,看如下代码:
<script> var num = 5; num = "softwhy.com"; num = {}; </script>
在上面的代码中,首先声明一个变量,兵赋值为数字5,这个时候变量就是数值类型的。 然后变量num被重新赋值为字符串,这个时候变量就变成字符串类型。 最后变量又被重新赋值为一个对象直接量,这个时候变量又成为一个引用类型的数据。 但是在实际应用中,要尽量避免上面的类似操作。 一.显式转换: 所谓的显式转换就是人为的方式对数据进行类型转换。 1.转换为数值类型:Number(mix)、parseInt(string,radix)、parseFloat(string)。 2.转换为字符串类型:toString(radix)、String(mix)。 3.Boolean(mix)。 下面分别对上面的几种转的规则进行一下介绍: Number()函数: (1).如果参数是布尔值,true的话,返回值是1,是false,则返回0. (2).如果参数是数值类型,则直接返回此数字。 (3).如果参数是null,则返回值是0. (4).如果参数是undefined,则返回值是NaN。 (5).如果参数是字符串类型的,那么还要分如下情况: 如果字符串只包含数字,则此函数会将其转换为十进制数字。 如果是空字符串,则此函数会将其转换为0。 如果字符串非以上格式,那么返回值是NaN。 (6).如果是对象,则调用对象的valueOf()方法,然后依据前面的规则转换返回的值。 如果转换的结果是NaN,则调用对象的toString()方法,再次依照前面的规则转换返回的字符串值。 各种对象调用valueOf()方法返回值规则如下: 1).数组:数组元素被转转换为字符串,并且之间用逗号连接。 2).布尔对象:返回true或者false。 3).Date对象:返回是时间戳。 4).Function对象:返回函数本身。 5).Number对象:返回数字字面量。 6).Object对象:返回对象本身。 7).String对象:返回字符串字面量。 代码实例:
<script> console.log(Number(true)); console.log(Number(5)); console.log(Number(null)); console.log(Number(undefined)); console.log(Number("60")); console.log(Number("")); console.log(Number("60d")); console.log(Number([1,2,3])); </script>
parseInt(string, radix)函数: 此函数可以将字符串转换为数字。 它的转换规则这里就不多介绍了,具体可以参阅javascript parseInt()一章节。 parseFloat(string)函数: 此函数的转换规则和parseInt()函数基本是相同的,但是也有如下区别: (1).此函数不会对十六进制或者八进制字面量字符串参数进行转换,只当作普通字符串处理。 (2).字符串中的第一个小数点会被当作浮点数正常处理。 toString(radix)方法: 对象都具有toString()方法,下面介绍一下各种对象的调用此方法的返回值: (1).Array对象:将数组元素用逗号连接起来返回一个字符串。 (2).Boolean对象:返回"true"或者"false"。 (3).Date对象:返回一个时间日期的字符串。 (4).Error对象:返回一个包含相关错误信息的字符串。 (5).函数对象:返回函数体本身。 (6).Number对象:返回对应的数字字符串。 (7).String对象:返回字符串直接量。 代码实例:
<script> var num=new Number(100); var arr=[1,2,3,4,5]; function func(){ var y=x+z; } console.log(num.toString(16)) console.log(arr.toString()) console.log(func.toString()) </script>
String()函数: 此函数可以将任何类型的值转换为字符串,规则如下: (1).如果有toString()方法,则调用该方法,并返回结果。 (2).如果是null,返回”null”。 (3).如果是undefined,返回”undefined”。 代码实例:
<script> var num=new Number(100); var arr=[1,2,3,4,5]; console.log(String(num)) console.log(String(arr)) </script>
请绑定手机号,在继续操作
注意:只有绑定手机以后,才可使用网站全部功能