JS隐形数据类型转换注意事项

alert('2'===2);  //这个结果是false,首先三个等号要比较数据类型,字符串和整数不相等

alert('2'==2);    //这个结果是true,因为是两个等号,所以不会比较数据类型,字符串‘2’会自动转换成数字2,所以相等
alert(‘10’>9);  //这个结果是ture,首先字符串和数字的比较,字符串会自动转换成数字,所以结果是true。

alert(‘10’>’9‘);//这个结果是false,首先是字符串和字符串的比较,又是数字,我们提取每个字符串第一位的数字,

第一个‘10’第一位是1,第二个是9,所以结果是false。

alert(‘10’>’ 9‘)//注意结果是true,第一个提取的结果是1,第二个我们先空格了一下,所以结果是0,所以是false

当提示出NaN的时候,代表出现了非法操作,还有isNaN的用法

var a=Number('abc');

alert(a);  //结果是NaN,
alert(typeof a);// number,一旦用了typeof的时候,判断的是类型,因为用Number定义的,所以是number
if(a){    
alert("true");
}else{
alert('false');//  结果是false,任何NaN的结果都是false
}

IsNaN的用法

 

//isNaN()如果是数字,返回false,如果不是数字,返回false。,底层用的是Number();
alert(isNaN(true));//ture转换成1所以是false
alert(isNaN('aa'));//true
alert(isNaN(1));
alert(isNaN([]));//转换成数字0,因为数组是空的,所以返回false

 

 

<input type="text" />
<input type="button" value="判断是不是数字"/>

/*//isNaN()如果是数字,返回false,如果不是数字,返回false。,底层用的是Number();
alert(isNaN(true));//ture转换成1所以是false
alert(isNaN('aa'));//true
alert(isNaN(1));
alert(isNaN([]));//转换成数字0,因为数组是空的,所以返回false*/
window.onload=function(){
var arr=document.getElementsByTagName('input');
var str='';
arr[1].onclick=function(){
str=arr[0].value;
if(isNaN(str)){
alert(str+'不是数字')
}else{
alert(str+'是数字')
}
}
}

 

posted @ 2016-12-17 15:12  耳朵像图图  阅读(686)  评论(0编辑  收藏  举报