- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Web开发高频面试题及实战答案
一、HTML/CSS基础
问:为什么要做HTML语义化?项目里怎么用的?
答:主要是让代码有“意义”——一是SEO友好,比如article比div更易被搜索引擎识别内容;二是维护方便,同事看headernav就知道是导航区,不用猜div的作用。项目里我会把页面拆成:顶部用header,导航栏用nav,主体内容用main,文章列表用article,侧边栏用aside,底部用footer,避免全堆div。
问:Flex布局实现“左侧300px固定,右侧自适应”,写关键代码?
答:父容器用flex,左侧定宽,右侧用flex:1占满剩余空间:
.container{
display:flex;/*开启Flex布局*/
height:500px;
}
.left{
width:300px;
background:#f0f0f0;
margin-right:20px;/*间距按需加*/
}
.right{
flex:1;/*占满剩余宽度*/
background:#e0e0e0;
}
实际项目里做后台管理系统的侧边栏+主内容区常用这写法。
问:CSS优先级怎么算?!important能随便用吗?
答:优先级从高到低是:内联样式(style属性)ID选择器(#box)类/伪类/属性选择器(.red/:hover)元素选择器(div)。
!important会强制提升优先级,但不建议常用——比如多个样式都加!important,又得比原优先级,反而乱。项目里一般只在覆盖第三方样式(比如ElementUI)时临时用。
二、JavaScript核心
问:原型和原型链是什么?举个例子
答:JS里每个对象都有__proto__(隐式原型),指向它的“爸爸”——原型对象(prototype);原型对象也有自己的__proto__,一层一层往上找直到null,这就是原型链。
比如用构造函数创建对象:
functionPerson(name){
=name;
}
Ptotype.sayHi=()=console.log(hi);//原型上的方法
constliLei=newPerson(李雷);
liLei.sayHi();//能调用到原型上的sayHi,因为liLei.__proto__===Ptotype
liLei.toString();//原型链往上找,Ptotype.__proto__是Ototype,所以能调用toString
实际用的时候,原型链主要用来实现继承,比如数组的push、map方法都在Atotype上,所有数组都能通过原型链调用。
问:闭包在项目里用过吗?解决什么问题?要注意什么?
答:用过,闭包就是“函数套函数,内层函数能访问外层函数的变量”。比如做防抖节流时用闭包存定时器:
//防抖:输入框停止输入1秒后再请求接口
functiondebounce(fn,delay){
lettimer=null;//闭包保存timer,不会每次调用都重置
return(args)={
clearTimeout(timer);
timer=setTimeout(()=fn(args),delay);
};
}
constsearchDebounce=debounce(fetchSearchData,1000);
注意点:闭包会让变量常驻内存,不用的时候要手动清空,比如上面的防抖函数,如果组件卸载了,最好clearTimeout(timer),不然可能内存泄漏。
问:事件循环机制?宏任务和微任务有哪些?写段代码说输出顺序
答:JS是单线程,事件循环就是“先执行同步代码,再清空微任务队列,最后执行一个宏任务,再清空微任务队列……循环”。
宏任务:script(整体代码)、setTimeout、setInterval、DOM事件回调、ajax请求;
微任务:Promise.then/catch/finally、async/await(await后面的代码算微任务)、queueMicrotask。
代码例子:
console.log(1);//同步
setTimeout(()=console.log(2),0);//宏任务
newPromise((resolve)={
console.log(3);//同步(Promise构造函数里的是同步)
resolve();
}).then(()=console.log(
您可能关注的文档
最近下载
- 生理性房室传导阻滞_刘仁光.pdf VIP
- 农村自来水厂建设工程分部分项施工方案和技术措施.pdf VIP
- (人教A版数学选择性必修一)2025年秋季学期讲义第12讲第一章空间向量与立体几何测评卷(基础卷)(学生版+教师版).docx VIP
- 《反恐怖防范管理规范 第2部分:医院》(DB22 T 3687.2-2025).pdf VIP
- 计算机视觉教程 作者 章毓晋 CCV04.ppt VIP
- 化工原理第四版谭天恩习题答案解析.pdf VIP
- 2025年高考物理(山东卷)试卷评析及2026高考备考策略 课件.pptx
- 人教版新版一年级语文上册课程纲要.pdf VIP
- 2025年广州地铁集团公司经营方针和战略.docx
- 2025年职业技能无人机驾驶员-民用无人机驾驶员理论知识参考题库含答案解析(5卷).docx VIP
文档评论(0)