var a = '100';json
alert(Number(a)); => 100函数
var a1 = '';字符串
alert(Number(a1)); => 0io
var a2 = true;function
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中拿到的内容都是字符串类型!