**第一题**
for(var i=0;i<5;i++){
console.log(i)
}
//0,1,2,3,4
**第二题**
for(var i=0;i<5;i++){
setTimeout(function(){
console.log(i)
},1000*i);
}
//5,5,5,5,5,
解释:首先执行微任务for循环,微任务执行完成进行setTimeout宏任务的执行
**第三题**
for(var i=0;i<5;i++){
(function(i){
setTimeout(function(){
console.log(i)
},i*1000)
})(i)
}
//0,1,2,3,4 函数嵌套函数闭包,不受污染
**第四题**
for(var i=0;i<5;i++){
(function(){
setTimeout(function(){
console.log(i);
},i*1000)
})(i);
}
//5,5,5,5,5
**第五题**
for(var i=0;i<5;i++){
setTimeout(function(i){
console.log(i);
},i*1000)
}
//undefined,undefined,undefined,undefined,undefined
第六题
setTimeout(function(){
console.log(1)
},0);
new Promise(function exector(resolve){
console.log(2)
for(var i=0;i<10000;i++){
i==999&&resolve();
}
console.log(3)
}).then(function(){
console.log(4)
})
console.log(5)
//执行顺序。2,3,5,4,1
第七题
let a=20+true+null+undefined+'string'+[ ]+{a:'2'}
console.log(a)
//打印结果 NaNstring[object Object]
**第八题**
下面哪一个不是 HTML5 中的标签 c
A.article 定义文章
B.section
C.foot
D.main 标签规定文档主要内容
**第九题**
下列描述错误的是 D
A.HTTP 状态码 302 表示暂时性转移
B.domContentLoaded 事件早于 onload 事件 //代表Dom加载完成
C.IE6/7/8 不支持事件捕获
D.LocalStorage 存储的数据,在刷新页面后会消失 //永久存储
**第十题**
4.在 javascript 中,下列不属于数组方法的是
A.concat()
B.sort()
C.reverse()
D.length()
**第十一题**
const a = { prop: 1 };
let b = a;
let c = a;
c.prop = 2;
b = { prop: 3 };
console.log(a.prop); console.log(b.prop); console.log(c.prop);
打印结果,2,3,3
原因:栈存储地址,堆存储数据。const 是引用类型在栈里边存储地址不变,堆里随便修改
**第十二题**
const shape = {
radius: 10,
getRadius0() {
return this.radius;
},
getRadius1: () => this.radius,
}
console.log(shape.getRadius0); console.log(shape.getRadius1);
//打印结果,10 undefined
原因:普通函数this指向调用者,无调用者指向window,
箭头函数this指向箭头函数定义时所处的对象,而不是箭头使用时的对象
**第十三题**
function sayHi() {
console.log(name);
console.log(age);
var name = 'Lydia';
let age = 21;
}
sayHi();
结果:undefined ReferenceError
**第十四题**
[2,3,4,1,5,3] k=2, //取出数组里边的第K大值 console.log(3)
解题思路:去重,进行排序,取出index-1
js面试做题篇
最新推荐文章于 2024-04-27 07:12:04 发布