第一种:
一道面试题的几种解法
转载解题思路1:掌握数据类型转换的规则,如果a是一个对象,我们就可以利用“对象->数字”的规则去做一些处理
var a = {
i: 0,
// a[Symbol.toPrimitive] 还可以重写:valueOf/toString
[Symbol.toPrimitive]() {
// this->a
return ++this.i;
}
};
if (a == 1 && a == 2 && a == 3) {
console.log('OK');
}
第二种
var a = [1, 2, 3];
a.toString = a.shift;
if (a == 1 && a == 2 && a == 3) {
console.log('OK');
}
第三种
解决思路2:我们可以劫持对象的成员访问全局下声明的变量是window的一个属性 Object.defineProperty数据劫持的办法
let i = 0;
Object.defineProperty(window, 'a', {
get() {
return ++i;
}
});
if (a == 1 && a == 2 && a == 3) {
console.log('OK');
}
上一篇:linux中的一些命令

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
一道腾讯面试题
一道腾讯面试题
腾讯 休闲 面试题 腾讯面试题 面试题答案 -
一道面试题引起的...
一道面试题引起的深思
递归 快排 插入排序 迭代器 堆排序 -
一道C#面试题
C#面试题统计"0"字符数量,并将统计数字插入到字符中。要求: 输入
递归算法 i++ c#