美文网首页
true还是false?

true还是false?

作者: 就那ck | 来源:发表于2017-03-03 12:51 被阅读0次

一、一个简单的题目

曾经碰到一个题,如下,会打印出什么?

console.log(true==true==true);
console.log(false==false==false);
console.log(3>2>1);
console.log(3<2<1);

这不就前三个打印true,最后一个打印false吗?



这还用想,一秒钟我就给出了答案!那么常识的问题。。。

二、啪啪啪被打脸

但是我个人习惯还是喜欢把代码运行测试一下,于是乎我就在控制台把上面四个console拷贝过去,轻蔑的按了下回车。。。

结果竟然是true false false true ???
四个题我回答错了仨,简直啪啪啪!!!


难道是我拷贝错了,还是这控制台出bug了?于是乎我又仔细的检查几遍,确定没什么问题。
这就尴尬了,被打脸的感觉真是很不爽啊。。。

三、这是为什么呢

第二个console打印出false,有可能是特殊情况。但是第三个3>2>1,这特么是小孩都知道的事实,这都打印出false,有木有搞错啊?于是我又单独测试了下:

console.log(3>2);
console.log(2>1);
console.log(3>1);

输出结果都是true,没毛病啊。。。


突然,我发现这个console.log(3>2)输出的是true,也就是说3>2 == true,那console.log(3>2>1) 不也就相当于 console.log(true > 1)了吗?而js中true == 1,所以console.log(true > 1) 会打印出false,顿时有种在漫长黑暗中看到亮光的兴奋。

四、摸摸脸

再看看第二个,false==false 会先返回true,再比较 true == false,结果自然打印出false。
第四个,3<2 会先返回 false,再比较false < 1,js中false == 0,所以打印出true。
所以四个console的结果分别是:true false false true
摸摸脸,还好打脸的事只有自己知道。。。

相关文章

网友评论

      本文标题:true还是false?

      本文链接:https://www.haomeiwen.com/subject/eholgttx.html