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

原文地址:https://www.cnblogs.com/linx/p/11065544.html

时间: 2024-08-30 13:09:53

js中a + 1 < a等于true,(a ==1 && a== 2 && a==3) 等于 true如何实现的相关文章

[转载]js中return的用法

一.返回控制与函数结果,语法为:return 表达式; 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果 二.返回控制,无函数结果,语法为:return;  在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个元素,页面会跳转到该元素href属性指定的页.    Return False 就相当于终止符,Return True 就相当于执行符.    在js中return false的作用一般是用来取消默认动作的.比如你单击一个链接除了触发

js中假值==比较

js中假值有null,undefined,false,"",0,-0,NaN 其中null==undefined为true,null和undefined和其他值==比较都为false NaN和其他相比都为false false==“”==0==[]这几个是相等的.但是boolean([])为true,Number([])为0,[]是不属于假值范围的.Number(false),Number(""),均为0 值得注意的是:Number(null)也是为0,但是,nul

js中return,return true,return false的用法及区别

1.语法及返回方式 ①返回控制与函数结果         语法为:return 表达式;         语句结果函数的执行,返回调用函数,而且把表达式的值作为函数结果返回出去 ②返回控制无函数结果         语法为:return;         在大多数情况下,为事件处理函数如果让其返回false,可以防止默认的事件行为.例如,默认情况下,点击一个<a>标签元素,页面会跳转到该元素href属性指定的页. 而return false就相当于终止符,return true就相当于执行符.

js中return;、return true、return false;区别

一.返回控制与函数结果, 语法为:return 表达式; 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果  二.返回控制, 无函数结果,语法为:return;  在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页.    Return False 就相当于终止符,Return True 就相当于执行符.    在js中return false的作用一般是用来取消默认动作的.比如你单击一

js中return、return true、return false的区别

js中return.return true.return false;区别 一.返回控制与函数结果, 语法为:return 表达式; 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果  二.返回控制, 无函数结果,语法为:return;  在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页.    Return False 就相当于终止符,Return True 就相当于执行符.    

字符串0.在php和js中转换为布尔类型 值是false还是true

在php 中 $a = '0'; $b = (bool)$a; var_dump($a);//输出false 在js中官方说明: Note:If the value parameter is omitted, or is 0, -0, null, , false, undefined, or NaN, the object is set to false. Otherwise it is set to true (even with the string false)! 测试: <script 

js中的==运算: [&#39;&#39;] == false —&gt;true

图1 计算下面表达式的值: [''] == false 首先,两个操作数分别是对象类型.布尔类型.根据图1,需要将布尔类型转为数字类型,而false转为数字的结果是0,所以表达式变为: [''] == 0 两个操作数变成了对象类型.数字类型.根据图1,需要将对象类型转为原始类型: 首先调用[].valueOf(),由于数组的valueOf()方法返回自身,所以结果不是原始类型,继续调用[].toString(). 对于数组来说,toString()方法的算法,是将每个元素都转为字符串类型,然后用

js中return;、return true、return false;区别

一.返回控制与函数结果 语法为:return 表达式 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果 二.返回控制 无函数结果,语法为:return; 在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页面. return false; 就相当于终止符, return true;  就想当于执行符. 在js中,return false的作用一般是用来取消默认动作的.比如你单击一个链接除了

js中return;、return true、return false的区别

一.返回控制与函数结果, 语法为:return 表达式; 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果  二.返回控制, 无函数结果,语法为:return;  在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页.    Return False 就相当于终止符,Return True 就相当于执行符.    在js中return false的作用一般是用来取消默认动作的.比如你单击一

js中return ,return true,return false;区别

js中return:.return true.return false;区别 转:https://www.cnblogs.com/camikehuihui/p/7999537.html 一.返回控制与函数结果, 语法为:return 表达式; 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果  二.返回控制, 无函数结果,语法为:return;  在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属