博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS隐形数据类型转换注意事项
阅读量:6623 次
发布时间:2019-06-25

本文共 1237 字,大约阅读时间需要 4 分钟。

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.οnlοad=function(){
var arr=document.getElementsByTagName('input');
var str='';
arr[1].οnclick=function(){
str=arr[0].value;
if(isNaN(str)){
alert(str+'不是数字')
}else{
alert(str+'是数字')
}
}
}

 

转载于:https://www.cnblogs.com/jrts/p/6189741.html

你可能感兴趣的文章
type的解释
查看>>
python之路--类与类之间的关系
查看>>
Windows Phone 8 开发环境搭建
查看>>
微信小程序了解向指南
查看>>
使用PhoneGap Build
查看>>
全功能web应用服务器Openresty介绍
查看>>
[解决方案]下载别人的工程,storyboard文件不显示界面/UIView
查看>>
解决MySQL Workbench导出乱码问题
查看>>
一些工作实践中的css样式使用
查看>>
半年“攻下”两城,Drive.ai自动驾驶运营之路如何走? | 2018全球智能驾驶峰会...
查看>>
IntelliJ IDEA隐藏文件或文件夹
查看>>
Confluence 6 Microsoft SQL Server 设置准备
查看>>
Hibernate @OneToOne 自动新增和删除
查看>>
小程序 — 选项卡
查看>>
vsts + XX云服务器构建netcore+docker持续集成交付部署
查看>>
史上最贵的国产手机华为 Mate20 系列发布,价格最高超过 15000
查看>>
车好多完成1.62亿美元C+轮融资,获30亿元毛豆总部基地资金支持
查看>>
IIS7浏览虚拟目录显示根目录文件
查看>>
深入调研Linq to Objects Join Linq to Entity
查看>>
Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制
查看>>