数学面试经典例题 经典面试题,让a
点关注,不迷路。
做干净纯粹的技术分享,有话评论区走起来
问题解析if (a == 1 && a == 2 && a == 3) { console.log("a == 1 && a == 2 && a == 3");}
如何让if里面的代码执行,成功在控制台打印出`a == 1 && a == 2 && a == 3"`?
看到题目的第一眼,有点懵逼。怎么可能会有如此矛盾的情况发生呢?就相当于一个人怎么可能即是小孩,又是成年人,还是老年人呢?
稍等分析一下,我们会发现一些端倪。
它没说让a同时等于1 2 3。
而且js是单线程运行的。 即使它们写在了一行,那也是从左到右执行的。所以它们从时空上面就不是同一时期的东西。
回到问题,那么如果想要让这个条件成立,就需要获取一次a的同时,让它自增1。
解决办法利用判断过程中的JS隐式转换的valueOf()方法。可能比较懵,先看下代码。
let a = { i: 1, valueOf: function() { return this.i ; }};if (a == 1 && a == 2 && a == 3) { console.log("a == 1 && a == 2 && a == 3");}
解释一下:
这里我们定义了一个名为 a 的对象,并添加了一个名为 valueOf 的方法。当尝试将对象转换为原始值时,JavaScript 引擎会首先查找该对象上是否有 valueOf 方法,并尝试使用该方法返回的值作为原始值。因此,在我们的示例中,每次尝试将 a 转换为原始值时,都会调用 valueOf 方法并将其递增,从而使得 a 在每次比较时的值递增。因此,当 a 的值依次为 1、2 和 3 时,表达式 a == 1 && a == 2 && a == 3 将返回 true,并输出字符串 "a == 1 && a == 2 && a == 3"。
JavaScript 中的隐式转换规则如下,需要记住:
1. 字符串和数字相加,将数字隐式转换为字符串。
2. 字符串、数字和布尔值进行比较,布尔值会隐式转换为数字,true 转换为 1,false 转换为 0,然后再和字符串或数字进行比较。
3. 数组和原始值进行比较,将数组隐式调用 toString() 方法,将其转换为字符串。
4. 对象和原始值进行比较,将对象隐式调用 valueOf() 方法,如果返回的是一个原始值,则使用该值进行比较,否则将隐式调用 toString() 方法将其转换为字符串。
5. 对象和对象进行比较,将对象隐式调用 valueOf() 方法,如果返回的是一个原始值,则使用该值进行比较,否则将隐式调用 toString() 方法将其转换为字符串,然后再进行比较。
6. 运算符优先级高的类型会优先进行隐式转换,例如加法运算符比较运算符的优先级高,因此会先将数字转换为字符串,然后再和另一个字符串进行拼接。
总结这是一个经典的面试题,主要是想测试对 JavaScript 类型转换和比较运算符的理解。虽然这不是一种良好的编程实践,但JS 是大家公认的一种弱语言,我们对其各种机制还是需要了解的,毕竟那句话咋说来的。。。。
可以不用,但不能不会
- 11-30生活中的真正修行:生活中修行
- 03-24秋天买的梨如何能保存至冬天?立秋后买梨子别专挑大的拿
- 05-11董氏奇穴外三关下针演示 董氏奇穴临床运用体应针法与灸法
- 02-04习覃代言宣恩贡茶 新动作贡茶飘香到江城
- 03-09声生不息宝岛季最受欢迎歌曲大陆:声生不息,宝岛季有古早音综同一首歌内味儿了
- 03-23傲雪凌霜一枝梅全诗 凌寒独自开这梅花傲雪真有意思
- 02-23传感器工作原理示意图 25个传感器工作原理动图大全
- 03-27率土之滨能让前锋肉的战法,率土之滨新版肉步横空出世
- 04-29赵又廷新剧恋爱部分:男神赵又廷终于出新剧了
- 11-24英语口语一对一在线学习教程 大咖现身林科大英语角
- 12-06李小鹏调度中秋国庆假期交通运输服务保障和安全生产工作 李小鹏调度中秋国庆假期交通运输服务保障和安全生产工作
- 02-22元明清三朝服饰特色一脉相承:百官公服制及蒙制贵族服饰的继承与演变
- 11-13杭州西湖边吃啥:杭州西湖吃货的天堂
- 06-01杭州最新楼盘限价:预算两三百万盯紧杭州这10个限价盘
- 03-08单圈手串怎么配漂亮?单圈手串怎么配才高级
- 10-04续保买哪几种保险 普通家庭是否有必要购买保险
热门
推荐
- 1关于拼搏的经典励志名言298
- 2值得摘抄的人物描写276
- 3学生即兴演讲作文大全439
- 4牛肉有哪些食用禁忌与功效255
- 5如何测儿童的智商测试483
- 6高校教师晋升述职报告范文338
- 7花生油有什么营养价值和作用268
- 8小孩十岁生日宴会祝福语155