JS笔试题收集
# JS笔试题收集
# 收藏
- JavaScript Questions (opens new window)
- 一些代码片段 (opens new window)
- 这45道面试可能被问到的JS判断题!你能答对几道? (opens new window)
- Javascript 里的奇葩知识 (opens new window)
- 44道JS难题,做对一半就是高手 (opens new window)
- 牛客网最新百道前端 JavaScript 笔试题 (opens new window)
- js烧脑面试题大赏 (opens new window)
# 记录
- 题目如下,补全
?的内容,使页面打印1
let a = ?
if (a == 1 && a == 2 && a == 3) {
console.log(1);
}
解:
// 解法1
let a = {
value: 1,
toString: function() {
return a.value ++
}
}
// 解法2
let a = {
i: 1,
valueOf() {
return a.i ++
}
}
// 解法3
let value = 1;
Object.defineProperty(window, 'a', {
get() {
return value ++;
}
})
// 解法4
var a = new Proxy({i: 1}, {
get(target) {
return () => target.i ++;
}
})
if (a == 1 && a == 2 && a == 3) {
console.log(1);
}
扩展:什么样的 a 可以满足 (a === 1 && a === 2 && a === 3) === true 呢?
let current = 0
Object.defineProperty(window, 'a', {
get () {
current++
return current
}
})
console.log(a === 1 && a === 2 && a === 3) // true
上次更新: 6/5/2022, 11:33:36 PM