数据类型转换Number

var  a = '100';

alert(Number(a));   =>   100

var a1  = '';

alert(Number(a1));   =>  0

var a2  = true;

alert(Number(a2));   => true - 1 或  false - 0

var  a3 = [];

alert(Number(a3));    =>   0

var  a3 = [10];

alert(Number(a3));    =>   10

var  a3 = [ '' ];

alert(Number(a3));    =>   0

var  a3 = [1,2,3,4];

alert(Number(a3));    =>   NaN

var  a4 = null;

alert(Number(a4));    =>   0

var  a5 ;

alert(Number(a5));    => NaN

//////////////////////////////////

var json= {};

alert(Number(json));   =>   NaN

var fn = function (){alert(1);};

alert(Number(fn););   =>   NaN

var b = '100px';

alert(Number(b));   =>NaN;   =>这时候我们不用Number了,因为它是整体转换,遇到非数字转不了!

我们可以用parseInt   =>它是逐一转换,遇到非数字截断,数字以后不被解析!

var b = '100px45125151';

alert(parseInt(b));   =>   100;

parseInt 只能转字符串,函数和布尔值其它的都不能转换  =>NaN。

var b = '+100';

alert(parseInt(b));      => 100

parseInt()还是认 + -等一些预算符号的还有空格。

var b = '0000000100';

alert(parseInt(b));      => 100;

var a = '12.34元';

alert(parseInt(a));     =>12;//这时候可以用parseFloat();

var a = '12.34元';

alert(parseFloat(a));    => 12.34;它只认得一个小数点,再多就会截断。

 

parseInt和parseFloat 还有一个参数,代表以几进制运算!   =>  parseInt(12.34,10);=>默认为10进制运算。

判断一个数字为整数还是小数可以组合使用

var num = '200.23';

if(parseInt(num) ==parseFloat(num)){

  num + '是整数';

}else{

   num + '是小数';

};

总结:以上Number();  parseInt();  parseFloat();它们为显示类型转换(强制类型转换)。

隐式类型转换:

- * / % ++   --   =>  它们可以把字符串隐性的转为数字。 例如:'200' - 3   =>197;

+            =>它会把数字转为字符串。  例如:200 + '3'    =>  2003;

 

>  <  数字的比较  ,字符串的比较是不一样的。

alert('10' > 9);     =>    true;

alert('10' > '9');    =>   false;   比较的是第一位的,1  <  9    则100000  <   9;

!取反    =>   无论右边是什么都会变为布尔值。  !100 =>false;   !'ok'    =>  false;

==和 ===    =>它们两个不一样,==只比较结果。===结果和类型都比较;

 

NaN   :not a number   =>不是一个数字

NaN   =>  他是数字类型!

 

一旦写程序出现:NaN,证明你进行了非法的运算。

NaN在布尔值里是false!

NaN ===NaN    =>false!

NaN与自己都不相等!

isNaN:is not  a number   是不是一个数字(不是数字);

isNaN(); 判断某些值是不是数字

不喜欢数字!  =>false;

喜欢   =>  true;

 

isNaN();根据Number();进行转换然后再进行判断的。

isNaN讨厌数字但是不讨厌NaN!

 

HTML中拿到的内容都是字符串类型!

 

posted @ 2017-02-20 18:38  chaoms  阅读(1760)  评论(0编辑  收藏  举报