js中a + 1 < a等于true,(a ==1 && a== 2 && a==3) 等于 true如何实现
Posted linx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中a + 1 < a等于true,(a ==1 && a== 2 && a==3) 等于 true如何实现相关的知识,希望对你有一定的参考价值。
先说a + 1 < a
1 const a = 2 i: 1, 3 valueOf: () => 4 if (a.i === 1) 5 return a.i++; 6 7 return a.i+2; 8 9 10 console.log(a + 1 < a); // true
原理:valueOf第一次返回一个值,取过一次之后返回另一个值,这里用个变量判断也行,如下:
1 let flag = true; 2 const a = 3 i: 1, 4 valueOf: () => 5 if (flag) 6 flag = false; 7 return a.i; 8 9 return a.i+2; 10 11 12 console.log(a + 1 < a); // true
如果 a 加的数字小于 1,可以这么写
1 const a = 2 i: 1, 3 valueOf: () => 4 return a.i++; 5 6 7 console.log(a + 0.9 < a); // true
以上是a + 1 < a的解法
再说(a ==1 && a== 2 && a==3)等于true的实现,其实跟上面逻辑差不多,如下:
const a = i: 1, valueOf: () => return a.i++; console.log(a ==1 && a == 2 && a == 3); // true
以上是关于js中a + 1 < a等于true,(a ==1 && a== 2 && a==3) 等于 true如何实现的主要内容,如果未能解决你的问题,请参考以下文章