前端 笔试 选择 整理1
localStorage和cookie
- 在现代浏览器中, cookie可以在跨域请求中被携带在请求头中
- localStorage被设置后, 除非被清除, 否则永久有效
字符串拼接
console.log('5' + 3, 5 + '3')
53 53
隐藏
- display:none , 不占用文档流
- visibility: hidden, 占用文档流
- opcity:0 , 对应的元素的事件听监听器还会触发
选择下一个兄弟节点p元素
div + p
打包构建前端项目
- gulp
- grunt
- webpack
- rollup
二叉树遍历
前序遍历:
CABEFDHG
中序遍历为:
BAFECHDG
后续?
BFEAHGDC
前序遍历:根-左-右
中序遍历:左-根-右
后序遍历:左-右-根
在一个二叉树的前序遍历中,第一个元素即为根节点对应的节点值
在中序遍历中,根节点将序列分为前后两个部分,前部分为左子树的中序序列,后部分为右子树的中序序列.
所以根节点为C,左子树为ABEF,右子树为DHG
时间复杂度
以下哪种排序算法的最坏时间复杂度可以做到O(n *log(n))?
递归排序
快速排序
冒泡排序
插入排序
递归排序
Linux操作系统的Cron服务用于
管理系统日常任务的调度
TCP/IP, UDP, HTTO
- UDP是面向无连接的, 不可靠的数据报服务
- TCP是面向连接的, 可靠的字节流服务
- HTTP是应用层协议
HTTP协议中, 请求永久重定向的状态码为
301
-
301 永久重定向
-
302 临时重定向
-
304 资源未改变
-
401 没有访问权限, 需要身份认证
-
1XX 正在请求,
-
2XX 200 相应成功
-
3XX 重定向
-
403 权限不够
-
405 请求方法不被允许
-
5XX 500 服务器代码错误
使用git不小心commit了, 如何恢复到上一状态
git reset --soft HEAD^
git reset HEAD --soft 回撤提交到暂存区
git reset HEAD --hard 回撤提交 放弃变更(慎用)
git checkout 分支名 检出分支
git revert HEAD 撤销最近一次提交, git revert命令意思是撤销某次提交. 它会产生一个新的提交, 虽然代码回退了, 但是版本依然是向前的
那些正则会匹配字符串"b"
- /^b$/
- /^b/
- /[]*b/
""元字符只匹配一个位置, 这个位置是单词的分界符
事件的冒泡/捕获
<div id="box1">
<div id="box2">
content
</div>
</div>
<script>
const $ = document.querySelector.bind(document);
const box1 = $('#box1');
const box2 = $('#box2');
box1.addEventListener('click', () => {
console.log('box1 true');
}, true);
box1.addEventListener('click', () => {
console.log('box1 false');
}, false);
box2.addEventListener('click', () => {
console.log('box2 true');
}, true);
box2.addEventListener('click', () => {
console.log('box2 false');
}, false);
</script>
运行结果:
box1 true, box2 true, box2 false, box1 false
由外向内捕获, 由内向外冒泡
事件捕获
捕获型事件(event capturing):
事件从最不精准的对象(document对象)开始触发, 然后到最精确(也可以在窗口级别捕获事件, 不过必须由开发人员特别指定)
事件冒泡
冒泡型事件:
事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发.
addEventListener(type, callback, useCapture)
ture表示在事件捕获时触发
事件的触发阶段:
事件捕获->事件冒泡