笔试
- 以下结果返回true的是()
- A. 1 === '1'
- B. !![]
- C. !!''
- D. null === undefined
-
typeof new Array() 表达式的结果是:
-
以下代码,alert出的值是多少:
window.val = 1
var json = {
val: 10,
dbl: function(){
this.val *= 2
}
}
json.dbl()
var dbl = json.dbl
dbl()
json.db.call(window)
aerlt(window.val, json.val)
- 以下代码,alert出的值是多少:
function C1(name) {
if (name) this.name = name
}
function C2(name) {
this.name = name
}
function C3(name) {
this.name = name || 'John'
}
C1.prototype.name = 'Tom'
C2.prototype.name = 'Tom'
C3.prototype.name = 'Tom'
alert(new C1().name + ' ' + (new C2().name) + ' ' + (new C3().name))
- 小明要实现一个效果,在控制台每隔1s打印0,1,2,3,4,以下代码有问题,该如何修改?
for (var i = 0; i < 5; i++) {
setTimeout(function() {
console.log(i)
}, 1000 * i)
}
- 优化下面这段代码
function foo(arr) {
if (arr == null) arr = [];
......
}
- 实现一个JavaScript函数,对指定的整数数组,返回任意两个数为10的所有结果
例如: [-1, 9, 2, 8, 3, 11, 1, 7...] 返回 [[-1, 11], [9, 1], [2, 8], [3, 7]...]
- pause 函数可以让一个函数暂停运行一段时间 (ms) 后继续运行,例如:
async function run() {
console.log('Hello');
await pause(1000) // 续一秒
console.log('World') // 一秒后继续运行
}
请完成 pause 函数的编写
- 大概描述一下制作一个网页的工作流程
面试:
我记住多少说多少,这个也是因人而异,仅做参考,我没什么框架基础,所以面试没怎么问框架的东西
- 第六题代码优化你有什么思路
- 说一说第七题的思路
- js如何改变指针,(解释一下,这里面试官和我聊了Java后引出的内容,js并没有指针,他的意思是js如改变this指向)答完又继续问call,apply和bind的区别
- js的原型以及继承(原话不记得了,达意即可)
- 你自认为比较好的项目,讲一讲你做的比较好的部分
- 有没有看过jQuery的源码,讲一讲自定义事件如何实现
- 了解链式操作吗?知道怎么实现的吗?
- class关键字是如何实现的
- 你们项目的工作流程怎么样,如何实现多人协同开发
- 说到定时器看一下第八题你有什么思路(我说了一个setInterval,面试官不满意,提示了一下Java中的sleep可以实现)
11.new操作干了什么
大概就是这样吧
网友评论