博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js面试题
阅读量:5051 次
发布时间:2019-06-12

本文共 742 字,大约阅读时间需要 2 分钟。

题目:如何让下面的表达式成立,成功打印出 123 ?

if(a==1&&a==2&&a==3){console.log(123)}

 解决方案:

// 1. 利用Object.definePrototype(function () {    let i = 0;    Object.defineProperty(window, 'a', {        get () { return ++i; }    })})()if (a == 1 && a == 2 && a == 3) { console.log(a, 123) }
// 2. 利用隐式转换 valueOfvar a = {i: 0};a.valueOf = function () { return a.i += 1; }if (a == 1 && a == 2 && a == 3) { console.log(a, 123) }
// 3. 利用隐式转换 toStringvar a = {i: 0};a.toString = function () {  return a.i += 1;  }if (a == 1 && a == 2 && a == 3) { console.log(a, 123) }
// 4. 利用隐式转换 [Symbol.toPrimitive]var i = 0;var a = {    [Symbol.toPrimitive]() { return ++i ;}}
if (a == 1 && a == 2 && a == 3) { console.log(a, 123) }

 

转载于:https://www.cnblogs.com/EnSnail/p/9706398.html

你可能感兴趣的文章
{每日一题}:四种方法实现打印feibo斐波那契数列
查看>>
设为首页,加入收藏 兼容各大浏览器
查看>>
MFC笔记8
查看>>
ECSHOP商品赠送积分也能输入小数
查看>>
用apt-get install一个软件的时候出现错误: 无法解析或打开软件包的列表或是状态文件...
查看>>
后台数组传到前台
查看>>
类型转换
查看>>
检查checkbox是否被选中
查看>>
Makefile Shell 脚本;sed命令
查看>>
win7 装docker
查看>>
利用python爬取海量疾病名称百度搜索词条目数的爬虫实现
查看>>
python3 下的文件输入输出特性以及如何覆盖文件内容和接下去输入
查看>>
linux OA搭建
查看>>
清除远程桌面连接历史记录
查看>>
使用matlab遇到的问题
查看>>
Java中的HashMap遍历和C#的字典遍历
查看>>
21_listview展示数据内容回顾
查看>>
在手机网络情况下,Android的微信页面不能播放背景音乐
查看>>
SpringBoot:第二篇 集成日志lombok
查看>>
【Python】新建自定义个数的自定义长度名字
查看>>