web 前端面试题

1 . 渐进增强 VS 优雅降级

    渐进增强:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。

优雅降级:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。

2 . webpack ,grunt ,gulp 之间的区别

 Grunt是一个任务管理器,能大大提高您运行前端开发工作流程。

gulp.js - 基于流的自动化构建工具。

Webpack 是当下最热门的前端资源模块化管理和打包工具。

3 . 什么是对象

对像就是一些属性和方法的集合

4 . 什么是闭包

能访问函数内部变量的函数

扫描二维码关注公众号,回复: 4379617 查看本文章

5 . for循环和for in循环有什么区别

前者 index变量是 number,后者是string;前者循环array,后者循环object枚举类型包括对象原型属性

6 . 前端跨域解决方法

后端允许前端跨域(cors),jsonp,设置代理(proxy)

7 .请求状态码

400--传参字段类型错误,401--授权失败,403--禁止访问,404--请求不存在; 301--永久重定向,302--临时重定向(post 大部分会转get),303--临时重定向(如果post转为强转get),304--网址未修改,307--临时重定向(post 不会转get);500--服务器内部错误,501--没有开放的请求错误,502--请求的网关错误,503--服务器不可用,504--网关超时,505--http请求版本不受支持

8 .node.nodetype== 1 代表element ,2代表属性,3代表文本节点,8代表注释

9 .循环页面节点 var el = document.querySelector("#id")

var child = el.firstChild;

var fragment = document.createDocumentFragment();

var node=null;

while(child ){

    fragment.appendChild(child);

    child =  el.firstChild;

}

10 .正则表达式,reg  

var reg = /\{\{,*\}\}/ig;

reg.test(string),  string.match(reg)  ,  reg.exec(string)  // /g 全局  /i 不分大小写 ,/m 表示多行匹配 ;/s表示特殊字符圆点 . 中包含换行符;/u表示最近的一个字符串,不重复;

; test ; match; exec(可以根据“()”分组)  等方法写法不同;  ?---懒惰匹配

11 在浏览器中输入网址后回车发生了哪些事情

  1. DNS解析

  2. TCP连接(三次握手)

  3. 发送HTTP请求

  4. 服务器处理请求并返回HTTP报文

  5. 浏览器解析渲染页面

  6. 连接结束

12 怎么获取服务器最新的时间

   根据 XMLHtmlRequest readyState 的值来区分: 0 表示创建XMLHtmlRequest对像未来初始化; 1 表示调用了opend方法,准备发送数据; 2 表示调用了send方法,开始发送请求了,并获得服务器响应头信息; 3 表示获得头部响应信并正在接收body数据;  4 表示接收数据完成;

所在当状态为2 时就可以获取  响应头部 date 的时间;

猜你喜欢

转载自my.oschina.net/u/3449950/blog/2088019