js 高级学习笔记 ( 六 ) 类型转换

本文详细介绍了JavaScript中类型转换的基本概念,包括内置方法、toString()、parseInt()、parseFloat()、强制类型转换(Boolean、Number、String)等,并通过实例展示了如何进行不同进制、基数的转换以及不同类型参数的处理。

1, ECMAScript 中的类型转换时简单的, 也有全局方法用来处理稍微复杂一点的转换 .  

 

2,  boolean , 数字  字符串 都是伪对象   都有toString()方法. 

 

     默认的toString()方法返回的数值都是10进制的. 

     要想返回

 

var iNum = 10;
alert(iNum.toString(2));	//输出 "1010"
alert(iNum.toString(8));	//输出 "12"
alert(iNum.toString(16));	//输出 "A"        10 -->A
 

3,  parseInt() 方法 

 

    parseInt() 将查看位置0处的字符 , 如果不是数字 就返回NaN ,如果是数字就继续下一个判断, 直到不是数字为止, 也就是说即使 后面有 不是数字的字符 只要第一个是数字 ,他还是会把前面数字的部分返回, 就像 第一个例子那样 ...

 

var iNum1 = parseInt("12345red");	//返回 12345
var iNum1 = parseInt("0xA");	//返回 10
var iNum1 = parseInt("56.9");	//返回 56
var iNum1 = parseInt("red");	//返回 NaN

 

   对 二进制, 八进制, 十六进制 也有相应的parseInt() ;

 

var iNum1 = parseInt("AF", 16);	 //返回 175
var iNum1 = parseInt("10", 2);	        //返回 2
var iNum2 = parseInt("10", 8);	       //返回 8
var iNum3 = parseInt("10", 10);     //返回 10

 

   如果数字前面有 0 , 的话 就会当成八进制数处理 , 

 

var iNum1 = parseInt("010");	//返回 8
var iNum2 = parseInt("010", 8);	//返回 8
var iNum3 = parseInt("010", 10);	//返回 10

 

 

4,  parseFloat()

 

   只能是十进制的数字 , 而且第二个小数点后面的内容会被忽略 

var fNum1 = parseFloat("12345red");	//返回 12345
var fNum2 = parseFloat("0xA");	        //返回 NaN
var fNum3 = parseFloat("11.2");	        //返回 11.2
var fNum4 = parseFloat("11.22.33");        //返回 11.22
var fNum5 = parseFloat("0102");	       //返回 102
var fNum1 = parseFloat("red");	               //返回 NaN
 

5,  强制类型转换 

 

 

      有三种方法 Boolean() , Number(), String() ;

 

6,  Boolean() 方法 

 

var bValue = Boolean("");            // false
var  bValue = Boolean(null);     //  false
var  bvalue = Boolean(0);            //  false
-----
var  bValue2 = Boolean("hi")       //true 
var  bValue2 = Boolean(20)         //true
var  bValue2 = Boolean(new Object())    //true
  

 

   当空字符串, null/undefined, 数字0 时返回false ;

   其他情况为true 

 

 

7, Number()  函数

 

用法结果
Number(false)0
Number(true)1
Number(undefined)NaN
Number(null)0
Number("1.2")1.2
Number("12")12
Number("1.2.3")NaN
Number(new object())NaN
Number(50)50

 

--  

   和parseInt() , parseFloat() 不同的是, 可以把 false ,true 转化成0 和1 

   1.3.4  这样不是数字的 会变成NaN 而不是 截取第二个点号之前的值

 

8,  String() 方法 

 

    转换成字符串只要调用toString()方法就可以了  

    和String() 的唯一区别就是 不能吧null /undefined 成功转化 , 而会发生错误. 

 

var s1 = String(null);	//"null"
var oNull = null;
var s2 = oNull.toString();	//会引发错误
 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值