三、逻辑题
1、以下函数通过 console 调用后输出的结果是: (0)
function get_bool(num) { let bool = 0; setTimeout(function () { bool = true; return bool; }, 0); let fn = () => { if (num !== "0") { return false; } }; if (bool) { num = 1; } if (fn()) { num = 2; } return bool || num; } console.log(get_bool(0)); // 0
2、以下函数执行后输出的结果是:(2、10、3、5、4、1)
setTimeout(function () { console.log(1); }, 0); new Promise(function (resolve, reject) { console.log(2); for (var i = 0; i < 10000; i++) { if (i === 10) { console.log(10); } i == 9999 && resolve(); } console.log(3); }).then(function () { console.log(4); }); console.log(5);
杭州君辰机器人有限公司:
1、alert(“5” + 4)
54
2、13 | 5 = ?
13
3、请写出http状态码及对应含义
2xx
代表请求已成功被服务器接收、理解、并接受
常见的有:
200(成功):请求已成功,请求所希望的响应头或数据体将随此响应返回
201(已创建):请求成功并且服务器创建了新的资源
202(已创建):服务器已经接收请求,但尚未处理
- 203(非授权信息):服务器已成功处理请求,但返回的信息可能来自另一来源
- 204(无内容):服务器成功处理请求,但没有返回任何内容
- 205(重置内容):服务器成功处理请求,但没有返回任何内容
- 206(部分内容):服务器成功处理了部分请求
3xx
表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向
常见的有:
- 304表示,客户端有缓存文件并向服务器发送了一个options请求,服务器返回304 Not Modified,告诉客户端,原来缓存的文件没有修改过,可以继续使用原来缓存的文件。
4xx
代表了客户端看起来可能发生了错误,妨碍了服务器的处理
常见的有:
400(错误请求): 服务器不理解请求的语法,表示客户端请求错误
401(未授权): 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
- 403(禁止): 服务器拒绝请求
404(未找到): 服务器找不到请求的网页
- 405(方法禁用): 禁用请求中指定的方法
- 406(不接受): 无法使用请求的内容特性响应请求的网页
- 407(需要代理授权): 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理
- 408(请求超时): 服务器等候请求时发生超时
5xx
表示服务器无法完成明显有效的请求。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生
常见的有:
500(服务器内部错误):服务器遇到错误,无法完成请求
501(尚未实施):服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码
- 502(错误网关): 服务器作为网关或代理,从上游服务器收到无效响应
- 503(服务不可用): 服务器目前无法使用(由于超载或停机维护)
- 504(网关超时): 服务器作为网关或代理,但是没有及时从上游服务器收到请求
- 505(HTTP 版本不受支持): 服务器不支持请求中所用的 HTTP 协议版本
4、如何让一个元素水平居中
5、谈谈对vue生命周期的理解
Vue生命周期总共可以分为8个阶段:创建前后, 载入前后,更新前后,销毁前销毁后,以及一些特殊场景的生命周期
生命周期 | 描述 |
beforeCreate | 组件实例被创建之初 |
created | 组件实例已经完全创建 |
beforeMount | 组件挂载之前 |
mounted | 组件挂载到实例上去之后 |
beforeUpdate | 组件数据发生变化,更新之前 |
updated | 组件数据更新之后 |
beforeDestroy | 组件实例销毁之前 |
destroyed | 组件实例销毁之后 |
activated | keep-alive 缓存的组件激活时 |
deactivated | keep-alive 缓存的组件停用时调用 |
errorCaptured | 捕获一个来自子孙组件的错误时被调用 |
6、如何实现网页自适应
1、使用rem单位实现自适应布局
2、使用媒体查询 (CSS3 @media 查询)
举个例子,当浏览器窗口小于 500px 时,背景变为蓝色:
@media only screen and (max-width: 500px) { body { background-color: lightblue; }
3、使用vw单位实现自适应布局
4、如果使用element-ui组件库自带自适应
7、请解释同步和异步函数的区别
8、v-show 和 v-if的区别
- 控制手段不同
- 编译过程不同
- 编译条件不同
控制手段:v-show
隐藏则是为该元素添加css--display:none
,dom
元素依旧还在。v-if
显示隐藏是将dom
元素整个添加或删除
编译过程:v-if
切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件;v-show
只是简单的基于css切换
编译条件:v-if
是真正的条件渲染,它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。只有渲染条件为假时,并不做操作,直到为真才渲染
- v-show 由false变为true的时候不会触发组件的生命周期
- v-if由false变为true的时候,触发组件的beforeCreate、create、beforeMount、mounted钩子,由true变为false的时候触发组件的beforeDestory、destoryed方法
性能消耗:v-if
有更高的切换消耗;v-show
有更高的初始渲染消耗;
9、vuex是什么?怎么使用?哪种场景使用它?
10、Vue常用的修饰符及其使用
http://heima-project.gitee.io/fe-up/#/vue/modifier