标签:
JS中的数据类型:数字(NaN)、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义
一:显示类型转换,Number() parseInt() parseFloat()
隐式类型转换 ,- * / %(取余数) “200”-3 197 变成数字
+ 200+“3” 203 变成字符串 (与上面相反)
++ --var a="10" a++ 11 变成数字
><大于小于号,数字的比较 alert(10>"9") true
与字符串的比较不同 alert("10">"9") false 这时是一位一位的比较,1,<9之后,
后面的再多也没用字符串编码比较
! 取反 把右边的数据类型转成布尔值
== alert( ‘2‘ === 2 ); false alert( ‘2‘ ==2 ); true
二:NAN var a = Number(‘abc‘);
// alert( a ); // NaN 数字和数字类型是两码事
// NaN:not a number 不是个 数字 的 数字类型
// alert( typeof (a) ); // number
一旦写程序中出现:NaN 肯定进行了非法的运算操作 alert( ‘200px‘ - 100 );
在布尔值里面,NAN是假,false
var a = Number(‘abc‘);
// alert( a ); // NaN
var abc = [];
alert( abc === abc );
NaN 与自己都不相等!!
三:alert( isNaN( function(){ alert(1) } ) ); true
alert( isNaN(‘250‘) ); 其实是先根据Number()转换之后的从而进行判断的
Number() ‘250‘ => 250 => false
alert( isNaN( [] ) ); false
四:
<script>
window.onload = function (){
var aInp = document.getElementsByTagName(‘input‘);
var str = ‘‘;
aInp[1].onclick = function (){
str = aInp[0].value;
// 从HTML 中拿到的内容(ID,value innerHTML),类型都是字符串
// alert( typeof str );所以不能这样判断,不然都是字符串
if( isNaN(str) ){
alert( str + ‘不是数字‘ );
}else{
alert( str + ‘是数字‘ );
}
};
};
</script>
数据类型转换
标签:
原文地址:http://www.cnblogs.com/zhrn/p/4552301.html