面试题总结
1.用js递归的方式写1到100求和?
递归我们经常用到,vue在实现双向绑定进行数据检验的时候用的也是递归,但要我们面试的时候手写一个递归,如果对递归的概念理解不透彻,可能还是会有一些问题。
function add (num1 , num2){
var num =num1+num2 ;
if(num2+1>100){return num;
}e1se{
return add(num, num2+1)}
}
var sum =add (1,2);
2.css常用的布局方式有哪些?
- 流式布局: 最基本的布局,就是顺着 html 像流水一样流下来
- 绝对定位: 利用 position: absolute 进行绝对定位的布局
- float 布局: 最初用来解决多栏布局的问题。比如圣杯、双飞燕的布局都可以用 float 来实现
- 珊格布局: bootstrap 用的布局,把页面分为 24 分,通过 row 和 col 进行布局
- flex 布局: css3 的布局可以非常灵活地进行布局和排版
- grid 布局: 网格布局
3.JS有哪些内置的对象
- 时间对象Date
- 字符串对象String
- 数学对象Math
- 数值对象Number
- 数组对象Array
- 函数对象Function
- 函数参数集合arguments
- 布尔对象Boolean
- 错误对象Error
- 基础对象Object
4.jquery怎么移除标签onclick属性?
获得a标签的onclick属性:$("a").attr("onclick")
删除onclick属性:$("a").removeAttr("onclick")
设置onclick属性:$("a").attr("onclick" ,"test();")
5.JavaScript的typeof 返回哪些数据类型?
alert( 'typeof` ‘nu17``); `l / object
alert('typeof` ‘undefined); `l / undefinedalert('typeof`‘NaN); `// number
alert(NaN == undefined); `// falsealert(NaN == NaN);`// false
var` `str = ‘"123abc"'`;
alert('typeof` ‘str++);``l / numberalert(str); `// NaN
6.BOM对象有哪些,列举window对象?
1. window对象,是JS的最顶层对象,其他的BOM对象都是window对象的属性;
2. 2.document 对象,文档对象;
3. location对象,浏览器当前URL信息;
4. 4.navigator对象,浏览器本身信息;
5. 5.screen对象,客户端屏幕信息;6.history对象,浏览器访问历史信息;
7.HTTP状态消息200 302 304 403404 500分别表示什么?
200:请求已成功,请求所希望的响应头或数据体将随此响应返回。
302:请求的资源临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control 或Expires 中进行了指定的情况下,这个响应才是可缓存的。
304:如果客户端发送了一个带条件的GET请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。
403:服务器已经理解请求,但是拒绝执行它。
404:请求失败,请求所希望得到的资源未被在服务器上发现。
500:服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现。
8.vue常用的指令及用法
v-model:双向数据绑定
v-for:循环遍历
v-if/v-show:显示与隐藏
v-on:事件绑定
v-once:只绑定一次
9.一次完整的http事务的过程
1.域名解析
2.发起tcp的3次握手
3.建立tcp连接后发起http请求
4.服务器端相应http请求,浏览器得到http代码
5.浏览器解析html代码,请求html代码的资源
6.浏览器对页面进行渲染呈现给用户