为了账号安全,请及时绑定邮箱和手机立即绑定

js判断负整数

js判断负整数

狐的传说 2019-03-12 17:15:39
在司徒正美的书里看到一个判断负整数的例子if (+n === n && !(n % 1) && n >= 0){}不能理解在控制台里测试了一下+1.1 === 1.1>true+1 === 1>true这个加号是什么作用
查看完整描述

4 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

进控制台看看[+null,+undefined,+new Date(),+"11"]的结果就知道了


查看完整回答
反对 回复 2019-04-12
?
aluckdog

TA贡献1847条经验 获得超7个赞

根据一楼的方法,测试了下,原来 + 和 - 都可以强制转换为 Number 。

https://img1.sycdn.imooc.com//5cb0131100014f8402700073.jpg


查看完整回答
反对 回复 2019-04-12
?
HUWWW

TA贡献1874条经验 获得超12个赞

其实我不太喜欢这种卖弄技巧的做法,可读性比较差。这么写的前提是一起工作的人都能够很好地理解这段代码,不然的话,我不喜欢这种奇技淫巧。

要我写的话,我宁愿这么写:


var isNegInt = function (n) {

    return (typeof n === 'number' && n < 0 && Number.isInteger(n));

}

然后实际要用的时候直接用:


if (isNegInt(n)) {

    //...

}

这样比较清晰。


查看完整回答
反对 回复 2019-04-12
?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

+n === n 判断是数字
!(n % 1) 判断是整数,用Number.isInteger(x)也行
n >= 0 判断是非负

查看完整回答
反对 回复 2019-04-12
  • 4 回答
  • 0 关注
  • 647 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号