随手记20170306

 

1.

如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如: 
parseInt("010");   //returns   8 
parseInt("010",   8);   //returns   8 
parseInt("010",   10);   //returns   10 

【parseInt的第一个参数是数值,第二个参数是进制数,默认为10进制】

parseInt()和parseFloat(),都是从第0位开始查看每个字符;

parseInt():转换为整数类型;

parseFloat():转换为浮点类型【小数点】,只有10进制,其他进制会返回NaN;

 

使用parseFloat()方法的示例: 

parseFloat("1234blue");   //returns   1234.0 
parseFloat("0xA");   //returns   NaN 
parseFloat("22.5");   //returns   22.5 
parseFloat("22.34.5");   //returns   22.34 
parseFloat("0908");   //returns   908 
parseFloat("blue");   //returns   NaN

 

2.强制类型转换

ECMAScript中可用的3种强制类型转换如下: 
Boolean(value)——把给定的值转换成Boolean型; 
Number(value)——把给定的值转换成数字(可以是整数或浮点数); 
String(value)——把给定的值转换成字符串。 
用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。

 

Boolean型的强制类型转换。布尔值类型转换

Boolean("");   //false   –   empty   string 
Boolean("hi");   //true   –   non-empty   string 
Boolean(100);   //true   –   non-zero   number 
Boolean(null);   //false   -   null 
Boolean(0);   //false   -   zero 
Boolean(new   Object());   //true   –   object

 

 

Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似  数字类型转换

Number(false)   0 
Number(true)   1 
Number(undefined)   NaN 
Number(null)   0 
Number( "5.5 ")   5.5 
Number( "56 ")   56 
Number( "5.6.7 ")   NaN 
Number(new   Object())   NaN 
Number(100)   100 

 

String() 字符串类型转换

将任何值都转成为字符串,

String()转换null或undefined都不会转换成字符串而不出错;

toString()是对逻辑值转换为字符串,并返回结果(对null或undefined有可能出错);

 

posted @ 2017-03-06 17:51  半遮  阅读(113)  评论(0编辑  收藏  举报