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

js 中的 ~~ 这种语法来自哪里,使用的时候跟Math.floor() 效果是一样的

js 中的 ~~ 这种语法来自哪里,使用的时候跟Math.floor() 效果是一样的

拉丁的传说 2019-04-07 11:18:50
//varsec=~~(newDate().getTime());//抱歉之前给的例子不太恰当,应该是如下的例子varsec=~~((end_time-newDate().getTime()))/1000);
查看完整描述

2 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

跟Math.floor()还是不一样的,实际上等效于
functiontrunc(x){
returnx<0?Math.ceil(x):Math.floor(x);
}
~做的操作是按位取反,两次取反又会变回原操作数
但是当操作数是小数的时候,会忽略其小数部分
~~43.2==~(~43.2)==~(~43)==~~43==(~~)43==43
~~-43.2==~(~-43.2)==~(~-43)==~~-43==(~~)-43==-43
Math.floor(-43.2)==-44
                            
查看完整回答
反对 回复 2019-04-07
  • 2 回答
  • 0 关注
  • 404 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信