多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ## 1.对HTML5的了解,还有HTML语义化 ``` h5是一个标准,书写代码的一个标准 更加语义化,可以见名知意 Canvas绘图 选择器 语义化 就是看到这段代码,我可以知道这块内容是干嘛的,有什么意义,便于浏览器解析提高代码的可维护性 ``` ## 2. 前端页面有那三层‘ ``` 结构层,样式层,行为层 ``` ## 3.web标准,以及对w3c的了解 ``` web标准就是将:结构(HTML),样式(CSS),和行为(javascript)分离 W3C对web标准提出了规范化的要求, 1)标签字母要小写; 2)标签要闭合; 3)标签不允许随意嵌套。 尽量使用外联css样式表和js脚本,使样式,结构,行为分离 id class 要见名知义 标签越少,加载越快 提高了代码的可维护性可复用性 ``` ## 4.什么是路由 vue、React 怎么设置路由 ``` 路由:根据URL地址的不同显示不同的页面 ``` ## 5.document.ready 和 window.onload的区别 ``` document.ready : dom文档树加载完之后执行的一个函数 window.onLoad:dom文档树和所有文件加载完后执行的一个函数 ``` ## 6. 高质量的代码具备那些条件 ``` 1.css命名规范 2.可读性强,要添加必要的注释 3.结构清晰,代码精简, 4.可复用性要强,模块化代码 ``` ## 7. 事件监听 ### JS ``` *element*.addEventListener(*event, function, useCapture*); ``` - 第一个参数是事件的类型 (如 "click" 或 "mousedown").//不要写"on" - 第二个参数是事件触发后调用的函数。 - 第三个参数是个布尔值用于描述事件是冒泡还是捕获。该参数是可选的。 ``` *element*.addEventListener("click", function(){ alert("Hello World!"); }); ``` ### jQuery ``` $('div').on('click','p',function(){ $('p').css('color','red'); }); ``` ## 8.cookie和 Session的区别 ``` cookie:存储的是访问某些网站后在本地存储的一些网站相关信息:如密码账号等 存储数据量较小,一般不超过4KB session:是将用户相关的信息存储在服务器上,安全性更高,不易窃取,会占用服务器资源 ``` ## 9.css、script 的顺序为什么会影响页面加载 ``` DOM文档的加载顺序是由上至下的顺序加载 css文件的加载是与DOM的加载并行的,不影响DOM文档加载,所以他应该放在上面,如果CSS在下面加载,就可能会出现页面样式混乱问题 而js文件不会与DOM并行加载,如果script 在上面 ,会阻塞DOM文档的加载,如果js脚本文件过大,就会导致页面显示滞后 ``` ## 10.为什么js会阻塞其他资源加载 ``` 浏览器为了防止js修改dom树,导致页面需要重构 ``` ## 11.浏览器的内核 ``` 主要分为:渲染引擎和JS引擎 渲染引擎:主要负责获取页面的html,css,然后加载到页面上 JS引擎:主要负责解析和执行JavaScript来实现网页的动态效果 最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向与只指渲染引擎 ``` - 常见的浏览器内核有哪些? ``` Trident内核:IE,360,百度; Webkit内核:Safari,Chrome blink:Chrome firefox:Gecko ``` ## 12.mvvm框架和mvc框架的区别 > mvvm model-view 是通过数据来显示视图层,不再操作节点 ![](https://box.kancloud.cn/aca33c01ebfffbf724d6f244a45965fe_562x486.png) > mvc 模型 视图 控制器 单向操作 ![](https://box.kancloud.cn/ff9acaa702136247fa2c8f385db9562f_583x510.png) ## 13.浏览器的缓存机制 ``` 1、浏览器判定是否有缓存 2、缓存是否过期 3、跟服务器协商是否使用缓存 4、协商缓存 ``` # ## 14.ES6的新特性 - const 与 let 变量 块级作用域,不能重复声明,没有声明提前 - 解构和展开运算符 > 解构 var a = [ x , y , z ] ; var [ x , y , z ] = a console.log(x) > 展开 [ ... ] - ES6箭头函数 改变函数中this - ES6中添加了对类的支持, ### 1.什么是promise > 是一个构造函数 ## 1.对前端工程师这个职位是怎么样理解的?它的前景会怎么样? * 前端是最贴近用户的程序员,比后端、数据库、产品经理、运营、安全都近。 1、实现界面交互 2、提升用户体验 3、有了Node.js,前端可以实现服务端的一些事情 * 前端是最贴近用户的程序员,前端的能力就是能让产品从 90分进化到 100 分,甚至更好, ``` 参与项目,快速高质量完成实现效果图,精确到1px; 与团队成员,UI设计,产品经理的沟通; 做好的页面结构,页面重构和用户体验; 处理hack,兼容、写出优美的代码格式; 针对服务器的优化、拥抱最新前端技术。 ```