JavaScript中的类型转换,JS中将数据转换为数字型的方式有哪4种?
本教程运行环境:windows7系统,javascript1.8.5版本1.8.5,戴尔G3电脑。
javascript数据类型转换包括:显式类型转换和隐式类型转换。
显式的转换数据类型
显示的转换数据类型主要是通过JS定义的数据转换方法。
1、转换成字符串
大多数JavaScript托管环境(如Node.js和Chrome)都提供了全局函数toString;同时,Object.prototype还定义了toString方法,使得所有对象都具有转换为字符串的能力。
例如,数字被转换为字符串:
var n=1;
n . tostring();//1toString接受一个参数来指定十进制,默认为10。您可以使用此参数生成包含字母和数字的随机字符串:
Math.random()。toString(36)。substr(2);Random生成一个从0到1的随机数。十六进制的字符集是[0-9a-z](36),substr用于截断开头的“0”。此外,Object.prototype.toString可用于检测JavaScript对象的类型:
var toString=object . prototype . toString;
toString.call(新日期);//[对象日期]
toString.call(新字符串);//[对象字符串]
toString.call(数学);//[对象数学]
//从JavaScript 1.8.5开始
toString.call(未定义);//[对象未定义]
tostring . call(null);//[对象为空]
//自定义类型
toString.call(新的my class);//[对象对象]2、转换为数字
将字符串转换成数字也是一个常见的需求,这通常用于从用户输入或文件中获取数字。parseInt和parseFloat可以直接在JavaScript中使用。例如:
var inum 1=parse int( 12345 red );//返回12345
var inum 1=parse int(0xA );//返回10
var inum 1=parse int( 56.9 );//返回56
var inum 1=parse int( red );//返回NaN
var fnum 4=parse float( 11 . 22 . 33 );//Return 11.22注意NaN是JavaScript中唯一不等于自身的值。(NaN==NaN)===false!如果遇到非法字符,parseInt和parseFloat将忽略其后的所有内容。
ParseFloat只接受十进制数字的字符串,而parseInt还提供了第二个参数(可选)来指定该字符串表示十进制数字系统:
var iNum1=parseInt(10 ,2);//返回2
var iNum2=parseInt(10 ,8);//返回8
var iNum3=parseInt(10 ,10);//返回103,强制类型转换
Boolean(0) //=假零
布尔值(new object()) //=true-object
数字(未定义)//=NaN
数字(空)//=0
String(null) //=null隐式的数据转换
通过JavaScript本身自动转换。JavaScript可以根据计算环境自动转换值的类型,以满足计算需求。
1、递增和递减操作符
递增和递减运算符直接借用了C,各有两个版本:前类型和后类型(A,A-,A,-A)。顾名思义,前置类型应该位于要操作的变量之前,后置类型应该位于要操作的变量之后。
这四个运算符适用于任何值,即它们不仅可以用于整数,还可以用于字符串、布尔值、浮点值和对象,并伴有隐式数据类型转换。
2、一元四则运算
加法运算符是双目运算符。只要其中一个是字符串,表达式的值就是字符串。
对于其他四种运算,只有一种是数字类型,表达式的值是数字。
非法字符通常返回NaN:
1 * a //=NaN,因为parseInt(a)的值是NaN,1 * NaN或NaN3、逻辑非操作符 与 比较操作符 将任意值转换为 布尔值。
逻辑NOT运算符首先将其操作数转换为布尔值,然后对其求反。
4、关系比较操作符
5、判断语句
判断语句中的判断条件需要为布尔类型,所以条件表达式会隐式转换为布尔。其转换规则与布尔构造函数相同。例如:
var obj={ };
if(obj){
while(obj);
}6、Native代码调用
JavaScript宿主环境将提供大量对象,其中许多对象通常由JavaScript实现。JavaScript传递给这些函数的参数也会被隐式转换。例如,BOM提供的警报方法接受字符串类型的参数:
alert({ a:1 });//=[Object Object][推荐学习:javascript高级教程]以上是javascript数据类型转换包括哪些内容的详细介绍。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。